Nginx与PHP-FPM的启动与管理脚本教程

2 下载量 80 浏览量 更新于2024-09-02 收藏 41KB PDF 举报
本文主要分享了Nginx和PHP-FPM的启动、重启、停止脚本,这些脚本包括start、stop、reload、restart等基本的管理操作,并且可以将它们整合到系统服务中,利用`systemctl`命令进行管理。适合那些在没有预装服务脚本的Linux发行版(如RHEL、Fedora、CentOS)上自行编译安装Nginx和PHP-FPM的用户参考。 Nginx是一个流行的开源HTTP服务器,同时具备反向代理和邮件代理功能。当Nginx和PHP-FPM通过源码编译安装时,通常不会自动创建服务脚本,因此不能像Ubuntu那样直接使用`nginx (start|restart|stop|reload)`命令。在这种情况下,我们需要自己编写启动脚本来管理这两个服务。 对于Nginx的启动脚本,它通常位于`/etc/init.d/nginx`。这个脚本使用`bash`编写,包含了启动、停止和状态检查等功能。脚本中会检查网络是否可用,确认Nginx可执行文件路径,以及配置文件路径,并设置PID文件的位置。例如: ```bash #!/bin/bash # # Startup script for Nginx - this script starts and stops the nginx daemon # # chkconfig: -8515 # description: Nginx is an HTTP(S), HTTP(S) reverse proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. ./etc/rc.d/init.d/functions # Source networking configuration. ./etc/sysconfig/network # Check that networking is up. if [ "$NETWORKING" = "no" ]; then exit 0 fi nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? [ $retval -eq 0 ] && touch $lockfile echo return $retval } ``` PHP-FPM(FastCGI Process Manager)是PHP的一个组件,用于管理和调度PHP进程。它的启动脚本与Nginx类似,但会针对PHP-FPM的特定配置和命令进行操作。通常,你可以找到一个名为`php-fpm`的服务脚本,该脚本会启动或停止PHP-FPM守护进程,并可能支持重载配置(不重启整个服务,仅应用新的配置)。 为了使这些脚本能够被`systemctl`管理,你需要将它们添加到系统服务中。这可以通过`systemd`的单元文件实现,例如创建一个名为`nginx.service`和`php-fpm.service`的文件,并将它们放入`/etc/systemd/system`目录。然后使用`systemctl enable nginx`和`systemctl enable php-fpm`来启用这两个服务,之后就可以使用`systemctl start nginx`、`systemctl restart nginx`、`systemctl stop nginx`等命令进行管理了。 总结来说,对于没有预装服务脚本的Linux系统,自定义Nginx和PHP-FPM的启动、重启、停止脚本是必要的。通过编写这些脚本,可以确保服务的正常运行和管理,同时集成到`systemd`中,使得管理更加方便和标准化。