1、安装nginx依赖包
yum -y install gcc gcc-c++ autoconfautomake yum -y install zlib zlib-devel openssl openssl-devel pcre-devel |
安装image_filter_module依赖的gd-devel
yum -y install gd-devel groupadd -r nginx useradd -s /sbin/nologin -g nginx -r nginx mkdir /var/tmp/nginx/client -pv touch /var/lock/nginx.lock |
2、安装ngx_cache_purge模块
将ngx_cache_purge模块的安装包上传到服务器下的指定目录下并解压,以/data为例,以下所有带/data的路径在安装时都可以根据实际安装路径修改。
tar -zxvf ngx_cache_purge-2.3.tar.gz |
3、安装nginx
将安装包上传到服务器下的指定目录下并解压,以/data为例。
tar -zxvf nginx-1.20.1.tar.gz |
4、进入解压后的源码目录,编译安装nginx
1)标红处的/data为文件所在目录(或即将编译安装的目录),可根据自己的需要修改。
2)error-log-path=/media/disk1/nginx/logs/error.log此路径存的是nginx的报错日志,如果nginx启动失败的话,可以查看此文件排查错误。
cd ./nginx-1.20.1/ ./configure \ --prefix=/data/nginx \ --sbin-path=/data/nginx/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/media/disk1/nginx/logs/error.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_gzip_static_module \ --http-log-path=/media/disk1/nginx/logs/access.log \ --http-client-body-temp-path=/media/disk1/nginx/client \ --http-proxy-temp-path=/media/disk1/nginx/proxy \ --http-fastcgi-temp-path=/media/disk1/nginx/fcgi \ --with-http_stub_status_module \ --with-poll_module \ --with-http_realip_module \ --with-http_image_filter_module \ --add-module=/data/ngx_cache_purge-2.3 \ --add-module=/data/fastdfs-nginx-module/src \ --with-cc-opt=-Wno-error make && make install |
5、配置nginx
修改nginx.conf文件中的IP,将IP换成对应服务器的IP后,将nginx.conf上传至/etc/nginx/下。
注:编辑文件时,可以使用notepaid++等编辑器或使用linux的vim/vi命令编辑,请不要使用记事本编辑,否则会造成文件格式错误,影响nginx服务的正常启动。nginx.conf以安装包内的为准。(此处不做展示)
6、把前端静态资源放到对应目录并解压
7、启动nginx服务
/data/nginx/sbin/nginx -c /etc/nginx/nginx.conf |
8、验证nginx是否启动
ps -ef|grep nginx |
出现类似以下内容,则证明启动成功
9、Nginx日志切割
- Nginx默认未对日志文件进行切分,内容一直增长,文件会变得很大,不方便查看。
- 历史日志占用过多的磁盘空间,没有必要保留。
# yum -y install logrotate
# vim /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
rotate 7
missingok
compress
delaycompress
notifempty
dateext
sharedscripts
postrotate
/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
endscript
}
:wq 保存退出
# logrotate -vf /etc/logrotate.d/nginx