一、文件路径
1.1 源码包安装
- 自动化部署脚本(需要提前下载源码包到指定目录/opt)
install_nginx(){ systemctl disable --now firewalld #关闭防火墙 setenforce 0 yum -y install pcre-devel zlib-devel gcc gcc-c++ make #安装环境依赖包 useradd -M -s /sbin/nologin nginx #创建nginx系统用户 tar xf /opt/nginx-1.12.0.tar.gz -C /opt/ #解压源码包 cd /opt/nginx-1.12.0/ #配置nginx模块 ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-stream \ --with-http_stub_status_module make -j 4 && make install #源码编译安装 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #创建命令软链接,方便管理 cat > /lib/systemd/system/nginx.service <<EOF #将nginx加入系统管理服务 [Unit] Description=nginx After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target EOF chmod 754 /lib/systemd/system/nginx.service #为nginx添加执行权 systemctl enable --now nginx.service #配置nginx为开机自启 }
1.2 yum安装
cd /etc/yum.repos.d/ #添加nginx的yum源 vim nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key yum clean all && yum makecache #重新加载yum缓存 yum install -y nginx #yum安装nginx systemctl start nginx #启动nginx
二、全局配置
#user nobody; #运行用户:若源码配置的时候没有指定用户,则默认nginx运行用户为nobody; worker_processes 1; #工作进程:最大的工作进程数,一般设置与cpu核数相同; #error_log logs/error.log; #日志收集:任何等级的错误日志都被收集; #error_log logs/error.log notice; #日志收集:仅收集notice(注意)级别的错误日志; #error_log logs/error.log info; #日志收集:仅收集info(信息)级别的日志; #pid logs/nginx.pid; #生成文件:取消注释会生成存放nginx pid号的文件/usr/local/nginx/logs/nginx.pid; events { worker_connections 1024; #连接数:每个工作进程能进行的最大连接数;还受到系统内核的限制ulimit -n查看; #临时修改系统内核:ulimit -n 数字 临时修改最大允许数; #永久修改系统内核:vim /etc/security/limits.conf; #nginx hard nofile 10240;nginx hard nofile 10240 }
三、网页配置
http { include mime.types; #文件扩展名与文件类型映射表 default_tyoe application/octet-stream; #默认文件类型 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #日志格式设置 # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; #日志存储位置 keepalive_timeout 65; #长链接时间设置,数字0表示不设置长链接 #gzip on; #gip模块,设置是否开启gizp压缩传输 server{ #子模块:设置web服务的监听配置 listen 80; #设置监听地址和端口:例:192.168.13.10:80 server_name localhost; #基于域名的主机:例:www.han.com #charset utf-8; #默认字符集:utf-8为万国字符集 location { #server子配置:设置客户端访问匹配规则 root html; #根目录:网站首页默认根目录 index index.html index.htm; #默认首页:网站首页默认加载文件 } } error_page 500 502 503 504 /50x.html; #网站首页错误页配置,显示内容及路径 }