Nginx生产环境部署最佳实践
创作时间:
2025-01-22 06:35:21
作者:
@小白创作中心
Nginx生产环境部署最佳实践
在生产环境中部署Nginx需要经过一系列的步骤和配置优化,以确保其稳定性和性能。本文将详细介绍从安装依赖到设置开机自启的完整过程,帮助读者掌握Nginx生产环境部署的最佳实践。
实验环境
- 操作系统:Centos 7.9
- 硬件配置:4核8G SSD 100G
步骤1:安装依赖
在开始部署Nginx之前,需要先安装一些必要的依赖包。这些依赖包包括:
- gcc:GNU编译器集合,用于编译C、C++等语言的源代码
- pcre:Perl兼容正则表达式库,用于模式匹配
- zlib:数据压缩库
- openssl:安全套接层协议工具包
- make:构建自动化工具
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel make wget
步骤2:创建Nginx用户
为了安全考虑,需要为Nginx创建一个专用的用户和用户组。
groupadd nginx
useradd nginx -m -d /home/nginx -g nginx
echo nginx:nginx|chpasswd
步骤3:创建Nginx相关目录
创建Nginx所需的目录结构,并设置权限。
mkdir -p /usr/local/nginx/{cache,log,conf/conf.d}
chown -R nginx:nginx /usr/local/nginx
步骤4:下载Nginx包并解压
下载Nginx源码包并解压到指定目录。
mkdir /opt/software/
cd /opt/software/
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz
步骤5:编译并安装Nginx
配置Nginx的编译选项,并进行编译和安装。
cd nginx-1.20.1
./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/log/error.log \
--http-log-path=/usr/local/nginx/log/access.log \
--pid-path=/usr/local/nginx/nginx.pid \
--lock-path=/usr/local/nginx/nginx.lock \
--http-client-body-temp-path=/usr/local/nginx/cache/client_temp \
--http-proxy-temp-path=/usr/local/nginx/cache/proxy_temp \
--http-fastcgi-temp-path=/usr/local/nginx/cache/fastcgi_temp \
--http-uwsgi-temp-path=/usr/local/nginx/cache/uwsgi_temp \
--http-scgi-temp-path=/usr/local/nginx/cache/scgi_temp \
--user=nginx \
--group=nginx \
--with-file-aio \
--with-threads \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_v2_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_realip_module \
--with-stream_ssl_module \
--with-stream_ssl_preread_module
make && make install
步骤6:修改Nginx配置文件
根据业务需求调整Nginx的配置文件。
cat << EOF | tee /usr/local/nginx/conf/nginx.conf
user nginx nginx;
worker_processes auto;
pid /usr/local/nginx/nginx.pid;
worker_cpu_affinity auto;
worker_rlimit_nofile 1024000;
events {
use epoll;
accept_mutex on;
multi_accept on;
worker_connections 65535;
}
http {
include mime.types;
access_log off;
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
gzip on;
include /usr/local/nginx/conf/conf.d/*.conf;
}
EOF
步骤7:设置Nginx开机自启
创建systemd服务文件,使Nginx能够随系统启动自动运行。
cat << EOF |tee /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
启用并启动Nginx服务:
systemctl daemon-reload && systemctl enable --now nginx
检查Nginx服务状态:
systemctl status nginx
补充命令
检查Nginx配置语法:
nginx -t重新加载Nginx配置:
systemctl reload nginx停止Nginx服务:
systemctl stop nginx重启Nginx服务:
systemctl restart nginx
通过以上步骤,你可以在生产环境中成功部署Nginx,并进行相应的配置优化。建议将具体的配置内容写在/usr/local/nginx/conf/conf.d目录下的.conf结尾的文件中。
热门推荐
鲈鱼、八带、虾虎……那叫一个鲜!青岛渔码头变身“海鲜市场”
高温出汗,电解质这样补才对!
小区周末装修禁止,如何减少装修噪音?
此身如传舍 何处是吾乡:苏轼的蜀地归思
古诗中的南蒿,自然意象与人文情怀的交融
海南比科大师生:在海南“留学” 就是这么“潮”
海南陵水黎安国际教育创新试验区:在海南“留学” 就是这么“潮”
施工组织设计审批流程包括哪些步骤?
安徽医科大学是几本-是一本还是二本大学
安徽医科大学是211大学吗?
脑干海绵状血管瘤后脑勺疼痛怎么办?看医院哪个科室?
如何调整姿势使颈椎处于舒适状态
新冠抗病毒药奈玛特韦片/利托那韦片,不能与哪些药物同服?
头疼四肢酸痛无力是怎么回事
鼻涕倒流一直咳嗽、喉咙痒该怎么办?5个方式有效改善!
风寒风热不再愁,用药知识全掌握
英红九号:广东英德特色茶树品种
水质pH酸碱度的影响有哪些
家用电梯遇险不用怕——紧急呼叫按钮使用全攻略
紧急应对指南:孩子手被扶梯夹住,家长如何快速救援与预防
基于同轴电缆的电源和数据传输
流感后咳嗽不止?名中医推荐这些中医调理方法
新西兰研究证实:鹿茸在免疫力、运动表现等多方面功效显著
治疗顽固性呃逆的药是什么
何祚庥:我不反对中医,只反对中医里的阴阳五行!
怎样才能算是近亲结婚
亲属关系可以结婚吗?近亲结婚风险及元旦领证指南
婚姻的心灵密码:宽容与理解
迷走神经:脑部最长神经,是身体平静的“开关”
【医疗问答】急性腹痛患者就医时应做哪些检查?