准备工作
- 从 nginx官网下载最新稳定版本,如:nginx-1.20.2.tar.gz
- 安装gcc gcc-c++:
yum install -y gcc gcc-c++
- 安装zlib-devel:
yum install -y zlib-devel
- 安装pcre pcre-devel:
yum install -y pcre pcre-devel
安装(/usr/local)
1、将源码包拷贝到 /usr/local 目录中
mv nginx-1.20.2.tar.gz /usr/local
2、解压源码
tar -zxvf nginx-1.20.2.tar.gz
3、进入源码目录,进行配置
cd nginx-1.20.2
./configure
4、编译、安装
make
make install
检查安装情况
进入安装目录 /usr/local/nginx/sbin 目录下:
cd /usr/local/nginx/sbin
./nginx
通过访问 http://domain.com 看看能否正常访问,或者检查nginx进程:
ps aux|grep nginx
或者
ps -ef|grep nginx
Nginx 控制命令
./sbin/nginx # 启动nginx
./sbin/nginx -s reload # 重载
./sbin/nginx -s stop # 关闭(强制)
./sbin/nginx -s quit # 优雅关闭(等请求处理完后关闭)
配置SSL
0、准备工作
- 停止nginx,
- 安装openssl依赖:
yum install -y openssl openssl-devel
- 准备Nginx的SSL证书文件:cert.pem和cert.key
1、重新配置加入SSL模块
进入源码目录,加入SSL支持模块:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
2、重新编译
make
3、覆盖原来编译的版本
将刚编译的nginx程序拷贝到原来安装的sbin目录中覆盖即可
cp ./nginx /usr/local/nginx/sbin
4、配置SSL
- 打开nginx.conf配置文件:
vim /usr/local/nginx/conf/nginx.conf
- 修改如下配置:
…………
server {
listen 443 ssl; # 监听443 SSL端口
server_name www.domain.com;
# SSL 证书、协议、算法等配置
ssl_certificate ../ssl/cert.pem;
ssl_certificate_key ../ssl/cert.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
…………
}
- 访问 https://www.domain.com 查看
- 将 80 端口转发到 443 端口以使用https
server {
listen 80;
server_name www.domain.com;
# 核心代码:80端口所有地址都转发到 https
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
PS:关于Nginx配置文件(nginx.conf)配置结构,参见另一篇博文:Nginx配置详解