1、下载nginx稳定版本
首先官网nginx的最新稳定版本。地址为http://nginx.org/en/download.html
2、开始进行编译安装
(1)首先安装依赖包,直接yum安装
yum install -y gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
(2)解压并进行编译安装
[root@zabbix-server ~]# tar -zxvf nginx-1.18.0.tar.gz [root@zabbix-server ~]# cd nginx-1.18.0 [root@zabbix-server nginx-1.18.0]# ls auto CHANGES.ru configure html Makefile objs src CHANGES conf contrib LICENSE man README
此时可以创建一个nginx用户
useradd -s /sbin/nologin -M nginx
创建安装的目录
[root@zabbix-server ~]# mkdir /usr/local/nginx
[root@zabbix-server ~]# mkdir /var/tmp/nginx
[root@zabbix-server nginx-1.18.0]#./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --with-stream
生成脚本及配置文件开始make,结果如下
再进行安装 make install
此时基本编译安装完成,会在/usr/local/nginx里生成相应的目录。
conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件,
配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。 html目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。 logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比如/var/logs/nginx里面。 sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。
3、启动、设置服务、配置开机自动启动
[root@zabbix-server ~]# /usr/local/nginx/sbin/nginx 启动nginx
启动可能会出现以下错误
1、nginx: [emerg] getpwnam("nginx") failed ---这是由于没有创建nginx用户
2、nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory) ---按照说明,在/var/tmp/下创建nginx目录即可。
设置服务
[root@zabbix-server ~]# vi /etc/init.d/nginx 插入如下代码
#!/bin/bash # chkconfig: - 99 2 # description: Nginx Service Control Script PROG="/usr/local/nginx/sbin/nginx" PIDF="/var/run/nginx/nginx.pid" case "$1" in start) $PROG ;; stop) kill -3 $(cat $PIDF) ;; restart) $0 stop &> /dev/null if [ $? -ne 0 ] ; then continue ; fi $0 start ;; reload) kill -1 $(cat $PIDF) ;; *) echo "Userage: $0 { start | stop | restart | reload }" exit 1 esac exit 0
此时就可以用service nginx stop、start、reload
设置开机自启动
chmod +x /etc/init.d/nginx chkconfig --add nginx chkconfig nginx on
测试