一、检查并安装所需的依赖软件
1.gcc:nginx编译依赖gcc环境
yum install gcc-c++
2.pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式
yum install -y pcre pcre-devel
3.zlib:该库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip
yum install -y zlib zlib-devel
4.openssl:一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http)
yum install -y openssl openssl-devel
二、下载nginx源码包
wget http://nginx.org/download/nginx-1.12.2.tar.gz
三、解压缩源码包并进入nginx文件夹
1.解压缩
tar -zxvf nginx-1.12.2.tar.gz
2.进入nginx文件夹
cd nginx-1.12.2
四、配置编译参数,这里把配置https的ssl模块也编译,不需要的可以去掉(可以使用./configure --help查询详细参数)
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_secure_link_module \
--with-http_v2_module \
--with-http_stub_status_module \
--with-http_sub_module
注意:安装之前需要手动创建上面指定的nginx文件夹,即/var/temp、/var/temp/nginx、/var/run/nginx/文件夹,否则启动时报错
五、编译并安装
make && make install
注意:可以进入/usr/local/nginx查看文件是否存在conf、sbin、html文件夹,若存在则安装成功
六、启动nginx
1.进入安装目录
cd /usr/local/nginx/sbin/
2.启动
./nginx
3.查看是否启动
ps -ef | grep nginx
如果有master和worker两个进程证明启动成功
image.png
注意:
1.启动时若报错:[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory),需要查看下是不是在/var/run文件夹下不存在nginx文件夹,不存在则新建
2.执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,命令如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))
3.如果系统关机后,/var/run目录下nginx文件夹被系统自动删除,需要修改nginx.conf文件,将pid目录设置为:pid /var/run/nginx.pid
image.png七、停止
1.暴利kill(不推荐使用)
kill -9 processId
2.快速停止
cd /usr/local/nginx/sbin && ./nginx -s stop
3.完整停止(推荐使用)
cd /usr/local/nginx/sbin && ./nginx -s quit
此方式停止步骤是待nginx进程处理任务完毕进行停止
八、启动
1.先停止再启动(建议使用)
./nginx -s quit && ./nginx
2.重新加载配置文件
./nginx -s reload
网友评论