千家信息网

Centos7中Nginx开机自启动问题怎么解决

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇"Centos7中Nginx开机自启动问题怎么解决"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们
千家信息网最后更新 2025年01月20日Centos7中Nginx开机自启动问题怎么解决

这篇"Centos7中Nginx开机自启动问题怎么解决"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Centos7中Nginx开机自启动问题怎么解决"文章吧。

关于在centos7中设置nginx开机自启动,我们可以通过编写开机自启动shell脚本来解决。

测试环境

操作系统:centos7 64位 1611

nginx版本: 1.11.10

本机nginx安装时的配置参数

./configure \--prefix=/usr/local/nginx \--pid-path=/usr/local/nginx/logs/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi

编写脚本

[root@localhost]# vim /etc/init.d/nginx

以下是脚本内容

#!/bin/bash# nginx startup script for the nginx http server# it is v.0.0.2 version.# chkconfig: - 85 15# description: nginx is a high-performance web and proxy server.#       it has a lot of features, but it's not for everyone.# processname: nginx# pidfile: /usr/local/nginx/logs/nginx.pid# config: /usr/local/nginx/conf/nginx.confnginxd=/usr/local/nginx/sbin/nginxnginx_config=/usr/local/nginx/conf/nginx.confnginx_pid=/usr/local/nginx/logs/nginx.pidretval=0prog="nginx"# source function library.. /etc/rc.d/init.d/functions# source networking configuration.. /etc/sysconfig/network# check that networking is up.[ "${networking}" = "no" ] && exit 0[ -x $nginxd ] || exit 0# start nginx daemons functions.start() {if [ -e $nginx_pid ];then  echo "nginx already running...."  exit 1fi  echo -n $"starting $prog: "  daemon $nginxd -c ${nginx_config}  retval=$?  echo  [ $retval = 0 ] && touch /var/lock/subsys/nginx  return $retval}# stop nginx daemons functions.stop() {    echo -n $"stopping $prog: "    killproc $nginxd    retval=$?    echo    [ $retval = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid}# reload nginx service functions.reload() {  echo -n $"reloading $prog: "  #kill -hup `cat ${nginx_pid}`  killproc $nginxd -hup  retval=$?  echo}# see how we were called.case "$1" instart)    start    ;;stop)    stop    ;;reload)    reload    ;;restart)    stop    start    ;;status)    status $prog    retval=$?    ;;*)    echo $"usage: $prog {start|stop|restart|reload|status|help}"    exit 1esacexit $retval:wq 保存并退出

*对于shell脚本中的部分文件路径请修改成你主机上nginx的相应路径,例如: nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/usr/local/nginx/logs/nginx.pid 以上都是本测试机nginx的相应路径 还有nginx的pid默认路径是nginx安装目录的logs/nginx.pid里。

设置文件的访问权限

[root@localhost]# chmod a+x /etc/init.d/nginx

(a+x ==> all user can execute 所有用户可执行)

这样在控制台就很容易的操作nginx了:查看nginx当前状态、启动nginx、停止nginx、重启nginx…

usage : nginx {start|stop|restart|reload|status|help}

如果修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行,可以将此命令加入到rc.local文件中,这样开机的时候nginx就默认启动了

加入到rc.local文件中

[root@localhost]# vi /etc/rc.local

加入一行 /etc/init.d/nginx start 保存并退出,下次重启会生效。

注意

如果开机后发现自启动脚本没有执行,你要去确认一下rc.local这个文件的访问权限是否是可执行的,因为rc.local默认是不可执行的。

修改rc.local访问权限,增加可执行权限

[root@localhost]# chmod +x /etc/rc.d/rc.local

现在重启后,自启动脚本就能正常执行了。

可以通过以下命令来查看nginx进行的运行情况

[root@localhost]# ps aux | grep nginx

以上就是关于"Centos7中Nginx开机自启动问题怎么解决"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

文件 内容 脚本 权限 路径 问题 命令 配置 可以通过 文章 知识 篇文章 测试 运行 操作系统 一行 主机 价值 参数 可以使 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 无线网络安全技术发展前景 商店数据库映射描述 静安区口碑好的软件开发有哪些 苏州纽奥德软件开发 显示连接不到服务器但是网连着 观山湖做网络安全的公司 数据库表不让编辑 西安聚九州网络技术有限公司 消费机服务器 3000g流量的服务器好不好 网络货运平台软件开发公司 网络安全法规定国家提倡什么 维普和知网三大数据库的区别 网络技术三级路由器的大题 怎样做到网络安全100字 高中生如何形成网络安全意识 气缸数据库 浙江系统软件开发机构 软件开发公司成员结构 动员部署网络安全 如何加强我国网络安全建设 网络安全博览会参展方案范文 想学习网络技术哪个学校好 北京方便软件开发价格优惠 安阳县网络安全培训 怎样降低软件开发成本 北京停车系统软件开发方案 如何通过服务器代理 非结构化最好安全性的数据库 c 连接不了数据库
0