【前置安装】
- OpenSSL
- 查看当前安装版本,如果centos7及以下,需要升级。
# openssl version
- 下载最新版本的openssl
# cd /usr/local/src/
# wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
- 卸载旧版本openssl
# which openssl (centos7默认路径 /usr/bin/openssl)
# mv openssl openssl.old
# rm -rf /etc/ssl
- 解压、配置、编译、安装
# cd /usr/local/src/
# tar xzvf openssl-1.1.1d.tar.gz
# cd openssl-1.1.1d/
# ./config --prefix=/usr/local/openssl
# make && make install
- 设置环境变量和软链接
# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
- 加载openssl配置生效
# ldconfig -v
- GCC
yum install gcc-c++
- Zlib
yum install zlib zlib-devel
- PCRE
yum install -y pcre pcre-devel
【Nginx 安装】
- 下载包
# cd /usr/local/src
# wget https://nginx.org/download/nginx-1.16.1.tar.gz
# tar xzvf nginx-1.16.1.tar.gz
# cd /usr/local/src/nginx-1.16.1
- 编译安装
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.1.1d
# make
# make install
- 启动
# cd /usr/local/nginx/sbin
# ./nginx
- 停止
- 强制停止方式,此方式类似先查出nginx进程id后再强制kill进程
# cd /usr/local/nginx/sbin
# ./nginx -s stop
- 完整停止方式(推荐使用),此方式是等待nginx进程处理任务完毕进行停止
# cd /usr/local/nginx/sbin
# ./nginx -s quit
- 重启
- 先重启再启动(推荐使用)
# cd /usr/local/nginx/sbin
# ./nginx -s quit
# ./nginx
- 重新加载配置文件,用于nignx.conf修改后,检查测试配置文件,重启让配置文件生效
# cd /usr/local/nginx/sbin
# ./nginx –t
# ./nginx -s reload
- 日志文件回滚
重新打开日志文件,将产生新的日志文件,用于将此前日志文件改名或者转移到其他目录
# cd /usr/local/nginx/sbin
# ./nginx -s reopen
- 平滑升级
nginx支持不重启服务来完成新版本的平滑升级,步骤如下:
1)通知正在运行的旧版本Nginx准备升级。通过向master进程发送USR2信号可达到目的。
kill -s SIGUSR2 <nginx master pid>
此命令通知运行中的Nginx会将pid文件重命名,如将 usr/local/nginx/logs/nginx.pid 重命名为 usr/local/nginx/logs/nginx.pid.oldbin,这样新的Nginx才有可能启动成功。
2)启动新版本的Nginx,可以使用以上介绍过的任意一种启动方法。这时通过ps命令可以发现新旧版本的Nginx在同时运行。
3)通过kill命令向旧版本的master进程发送SIGQUIT信号,以“优雅”的方式关闭旧版本的Nginx。随后将只有新版本的Nginx服务运行,此时平滑升级完毕。
【Nginx 管理工具】
https://github.com/onlyGuo/nginx-gui
https://github.com/jslsolucoes/nginx-admin
参考资料
OpenSSL 安装与配置: http://www.jinbuguo.com/linux/openssl_install.html
负载均衡和反向代理:待补充