Centos安装部署Nginx,以及如何平滑升级Nginx
在Centos下,yum源不提供nginx的安装,可以通过切换yum源的方法获取安装。也可以通过直接下载安装包的方法
,**以下命令均需root权限执行**:首先安装必要的库(nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库)。
选定**/usr/local**为安装目录,以下具体版本号根据实际改变。
1:先安装gcc(gcc用来编译下载下来的nginx源码)
yum install gcc-c++
2:安装pcre, pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。 nginx 的 http 模块使用 pcre 来解析正则表达式
pcre-devel 是使用 pcre 开发的一个二次开发库。
yum install -y pcre pcre-devel
3:安装zlib
zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip
install -y zlib zlib-devel
4:安装openssl
openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl
yum install -y openssl openssl-devel
5:下载安装nginx(具体版本可去官网挑选http://nginx.org/en/download.html)
wget http://nginx.org/download/nginx-1.21.0.tar.gz
如果没有安装wget命令,需要先安装wget命令
yum install -y wget
6:解压文件至/usr/local
tar -zxvf nginx-1.21.0.tar.gz -C /usr/local
7:在解压后的目录下编译
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
#编译
make
#安装
make install
8:升级nginx
8.1:先在/usr/local/nginx/sbin/nginx 下面执行 ./nginx -V查看版本
8.2:下载对应的nginx安装包,并解压到/usr/local目录
8.3:在新解压的包路径下,编译,完成此操作后。会在解压后的目录生成objs目录。
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
这里不需要执行make install安装,否则会覆盖安装,导致nginx报错。
8.4:备份之前的nginx二进制文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
8.5:拷贝刚编译新生产的Nginx二进制文件到/usr/local/nginx/sbin/目录
cp 解压目录/objs/nginx /usr/local/nginx/sbin/
8.6:在解压目录执行升级命令make upgrade
8.7: 在/usr/local/nginx/sbin/nginx 下面执行 ./nginx -V查看版本 查看是否更新成功