详解基于CentOS 7配置Nginx自启动
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,Nginx是广为流行的轻量级Web服务器软件。它开源,短小精悍,简单易用,深受广大互联网企业以及IT运维人员所喜爱。很多时候,我们在生产环境基于编译方式安装Nginx后,Nginx需要手工配置自启动服
千家信息网最后更新 2024年12月13日详解基于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安全错误
数据库的锁怎样保障安全
服务器h01是什么指令
阿里数据库架构
客户端远程访问数据库
庆余年没有服务器
规格数据的数据库设计
软件开发为什么会被劝退
计算机网络技术传统型毕业论文
软件开发公司如何提成
计算机网络技术地址划分
易班网络安全宣传日
sts软件开发
网络技术下的教研活动
四川程序软件开发价位
数据库实验报告一创建数据库
数据库转换函数的用法
怎么查看云服务器上的网站ftp
银联网络安全宣传周
天天分享网络技术
网络技术之划分子网
深圳涌浪网络技术有限公司
一路商机网络技术
宝山区新时代网络技术出厂价格
碟式套利软件开发
喋血复仇4与服务器
2k21 总是提示无法连接服务器
thinkcmf 数据库
数据库属于哪类工作
nn数据库
怀旧服服务器一直在更新
网络技术服务税收编码