详解基于CentOS 7配置Nginx自启动
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Nginx是广为流行的轻量级Web服务器软件。它开源,短小精悍,简单易用,深受广大互联网企业以及IT运维人员所喜爱。很多时候,我们在生产环境基于编译方式安装Nginx后,Nginx需要手工配置自启动服
千家信息网最后更新 2025年12月02日详解基于CentOS 7配置Nginx自启动
Nginx是广为流行的轻量级Web服务器软件。它开源,短小精悍,简单易用,深受广大互联网企业以及IT运维人员所喜爱。很多时候,我们在生产环境基于编译方式安装Nginx后,Nginx需要手工配置自启动服务,以确保服务器异常宕机后自动重启该服务。以下描述的是基于CentOS 7下来配置自启动服务,供大家参考。
一、yum 安装方式Nginx自启动
当前环境
[root@node142 ~]# more /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
查看是否保护nginx rpm包
[root@node142 ~]# rpm -qa|grep nginxnginx-mod-http-geoip-1.12.2-2.el7.x86_64nginx-1.12.2-2.el7.x86_64nginx-filesystem-1.12.2-2.el7.noarchnginx-mod-http-xslt-filter-1.12.2-2.el7.x86_64nginx-mod-stream-1.12.2-2.el7.x86_64nginx-mod-http-perl-1.12.2-2.el7.x86_64nginx-mod-http-image-filter-1.12.2-2.el7.x86_64nginx-all-modules-1.12.2-2.el7.noarchnginx-mod-mail-1.12.2-2.el7.x86_64
查看是否存在相应的服务,如下,有nginx.service
[root@node142 ~]# systemctl list-unit-files |grep nginxnginx.service disabled
将其配置为自动
[root@node142 ~]# systemctl enable nginx.service
查看nginx.service文件
[root@node142 ~]# more /lib/systemd/system/nginx.service[Unit]Description=The nginx HTTP and reverse proxy serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/run/nginx.pid# Nginx will fail to start if /run/nginx.pid already exists but has the wrong# SELinux context. This might happen when running `nginx -t` from the cmdline.# https://bugzilla.redhat.com/show_bug.cgi?id=1268621ExecStartPre=/usr/bin/rm -f /run/nginx.pidExecStartPre=/usr/sbin/nginx -tExecStart=/usr/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDKillSignal=SIGQUITTimeoutStopSec=5KillMode=processPrivateTmp=true[Install]WantedBy=multi-user.target
上述配置文件中的内容和官网提供的一模一样
https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
二、编译安装后的自启动配置
由于是编译安装,因此,对于这个自启动的脚本我们需要自行配制。
具体则是参考上面的链接或者上面给出的nginx.service文件内容。
然后将其保存为 /lib/systemd/system/nginx.service。
看下面的例子
# more /etc/redhat-release CentOS Linux release 7.4.1708 (Core) # ps -ef|grep nginxroot 10092 10014 0 16:23 pts/0 00:00:00 grep --color=auto nginxroot 20791 1 0 Mar20 ? 00:00:00 nginx: master process ./sbin/nginx -c /u01/app/nginx/nginx.confnobody 20792 20791 0 Mar20 ? 00:00:44 nginx: worker processnobody 20793 20791 0 Mar20 ? 00:00:42 nginx: worker processnobody 20794 20791 0 Mar20 ? 00:00:50 nginx: worker processnobody 20795 20791 0 Mar20 ? 00:00:44 nginx: worker processnobody 20796 20791 0 Mar20 ? 00:00:43 nginx: worker processnobody 20797 20791 0 Mar20 ? 00:00:43 nginx: worker processnobody 20798 20791 0 Mar20 ? 00:00:37 nginx: worker processnobody 20799 20791 0 Mar20 ? 00:00:48 nginx: worker processnobody 20800 20791 0 Mar20 ? 00:00:04 nginx: cache manager process#
无相应的rpm包,如下查询,此处为编译安装
# rpm -qa|grep nginx
也没有添加相应的自启动服务
# systemctl list-unit-files |grep nginx
nginx版本
# /u01/app/nginx/sbin/nginx -vnginx version: nginx/1.8.1
获取nginx编译模块,然后查看诸如pid,二进制位置并记录以便修改启动文件
# /u01/app/nginx/sbin/nginx -Vnginx version: nginx/1.8.1built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: --prefix=/u01/app/nginx --sbin-path=/u01/app/nginx/sbin/nginx --conf-path=/u01/app/nginx/nginx.conf --error-log-path=/u01/app/nginx/log/error.log --http-log-path=/u01/app/nginx/log/access.log --pid-path=/u01/app/nginx/nginx.pid --lock-path=/u01/app/nginx/nginx.lock --http-client-body-temp-path=/u01/app/nginx/client_temp --http-proxy-temp-path=/u01/app/nginx/proxy_temp --http-fastcgi-temp-path=/u01/app/nginx/fastcgi_temp --http-uwsgi-temp-path=/u01/app/nginx/uwsgi_temp --http-scgi-temp-path=/u01/app/nginx/scgi_temp--user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module--with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module--with-file-aio --with-http_spdy_module --with-ipv6
下面我们生成一个新的nginx.service文件
# vim /lib/systemd/system/nginx.service[Unit]Description=The NGINX HTTP and reverse proxy serverAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/u01/app/nginx/nginx.pidExecStartPre=/u01/app/nginx/sbin/nginx -tExecStart=/u01/app/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target
下面我们先手工停止nginx
# /u01/app/nginx/sbin/nginx -s stop
配置自启动
# systemctl enable nginx.service
使用systemctl工具启动nginx服务
# systemctl start nginx.service# systemctl status nginx.service● nginx.service - The NGINX HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2018-03-29 16:37:47 CST; 6s ago Process: 10588 ExecStart=/u01/app/nginx/sbin/nginx (code=exited, status=0/SUCCESS) Process: 10586 ExecStartPre=/u01/app/nginx/sbin/nginx -t (code=exited, status=0/SUCCESS)Main PID: 10590 (nginx) CGroup: /system.slice/nginx.service ├─10590 nginx: master process /u01/app/nginx/sbin/nginx ├─10591 nginx: worker process # Author : Leshami ├─10592 nginx: worker process # Blog : https://blog.csdn.net/leshami ├─10593 nginx: worker process ├─10594 nginx: worker process ├─10595 nginx: worker process ├─10596 nginx: worker process ├─10597 nginx: worker process ├─10598 nginx: worker process ├─10599 nginx: cache manager process └─10600 nginx: cache loader processMar 29 16:37:47 ydq-std systemd[1]: Starting The NGINX HTTP and reverse proxy server...Mar 29 16:37:47 ydq-std nginx[10586]: nginx: the configuration file /u01/app/nginx/nginx.conf syntax is okMar 29 16:37:47 ydq-std nginx[10586]: nginx: configuration file /u01/app/nginx/nginx.conf test is successfulMar 29 16:37:47 ydq-std systemd[1]: Started The NGINX HTTP and reverse proxy server.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
服务
配置
文件
编译
内容
手工
方式
服务器
环境
面的
精悍
一模一样
短小精悍
二进制
互联网
人员
企业
位置
例子
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发企业的市场分析
丰润区专业性软件开发
东西湖区网络安全大学
佑辰网络技术有限公司
网络安全中的CS是什么
兑换服务器
盈宏网络技术有限公司
谷歌数据库排行榜
实时软件开发C语言
重庆网络安全征集
西门子服务器作用
鸿蒙系统升级连接服务器失败
路由器虚拟网络安全吗
局域网管理与服务器搭建
软件开发应届生工资一般多少
广东ipfs服务器配置云空间
网络安全有没有必要考研
北航网络安全在哪个学院
公司小型服务器配置
武汉京联互通网络技术有限公司
深圳门禁软件开发中心
武汉软件开发价格多少
数据库高级查询教程
双机热备管理服务器
CDN源服务器怎么做安全
软件开发的单词积累
惠山区智能软件开发服务电话
中富金业服务器地址
阿拉善租房软件开发
免费流媒体服务器软件