安装前准备
对于nginx编译安装需要先安装编译 的工具,然后再安装nginx依赖
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
添加www用户
添加www用户,如果没有可能会报错nginx: [emerg] getpwnam(“www”) failed
#添加www 用户 groupadd -f www useradd -g www www
一、下载Nginx源文件
进入nginx官网下载nginx的稳定版本,我下载的是1.16.1。
下载:wget http://nginx.org/download/nginx-1.16.1.tar.gz 解压:tar -zxvf nginx-1.10.0.tar.gz
二、检查安装依赖项
执行下面的命令安装nginx的依赖库:
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
三、配置Nginx安装选项
我这安装到/usr/local/nginx目录下,其它选项可执行./configuration –help查看。
cd nginx安装目录,执行如下命令:
#带ssl stub_status模块 添加strem模块 –with-stream,这样就能传输tcp协议了
#http_stub_status_module 状态监控
#http_ssl_module 配置https
#stream 配置tcp得转发
#http_gzip_static_module 压缩
#http_sub_module 替换请求
./configure --prefix=/usr/local/nginx
--sbin-path=/usr/bin/nginx
--with-http_stub_status_module --with-http_ssl_module --with-stream
官网参数配置说明:http://nginx.org/en/docs/configure.html
四、编译并安装
make && make install
五、启动、停止、重启
# 1.启动nginx
shell> nginx
# 可通过ps -ef | grep nginx查看nginx是否已启动成功
# 2.停止nginx
shell> nginx -s stop
# 3. 重新启动
shell> nginx -s reload
nginx默认配置启动成功后,会有两个进程,一个主进程(守护进程),一个工作进程。主进程负责管理工作进程,工作进程负责处理用户的http请求。
六、配置nginx开机启动
将/usr/bin/nginx命令添加到/etc/rc.d/rc.local文件中,rc.local文件会在系统启动的时候执行。但CentOS7建议将开机启动服务写成服务描述文件添加到系统服务中,所以rc.local默认没有执行权限,需要给它添加执行权限。
shell> vim /etc/rc.d/rc.local # 添加如下参数 /usr/bin/nginx shell> chmod +x /etc/rc.d/rc.local
#带ssl stub_status模块 添加strem模块 –with-stream,这样就能传输tcp协议了
#http_stub_status_module 状态监控
#http_ssl_module 配置https
#stream 配置tcp得转发
#http_gzip_static_module 压缩
#http_sub_module 替换请求
七。 重新编译
# 进入源码安装包中 , 添加编译的模块 ./configure --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx --with-http_ssl_module #执行编译 make # 注意: 不要执行 make install 否则覆盖安装 # 安装成功之后,会产生新的nginx文件 , 当前目录下 objs/nginx mv /usr/bin/nginx /usr/bin/nginx_bak cp objs/nginx /usr/bin/nginx #平滑重启 nginx -s reload # 查看模块是否安装 nginx -V
[root@script nginx-1.16.1]# nginx -V
nginx version: nginx/1.16.1
built by gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)
configure arguments: --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx