linux自启动
2025-08-15 10:11 Spiderman25 阅读(16) 评论(0) 收藏 举报如果你没有通过 yum 安装 Nginx,而是通过源代码编译或其他方式安装的 Nginx,你仍然可以设置 Nginx 开机自启动,但方法会稍有不同。以下是适用于这种情况的步骤:
1. 手动创建系统服务文件(systemd)
如果你使用的是 systemd(如 CentOS 7 及更高版本,Ubuntu 16.04 及更高版本),你可以手动创建一个 systemd 服务文件,来使 Nginx 在系统启动时自动启动。
步骤:
-
创建 Nginx 服务文件:
在/etc/systemd/system/目录下创建一个 Nginx 服务文件nginx.service:sudo nano /etc/systemd/system/nginx.service -
服务文件内容:
将以下内容粘贴到该文件中:[Unit] Description=The nginx HTTP and reverse proxy server After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PIDFile=/usr/local/nginx/logs/nginx.pid [Install] WantedBy=multi-user.target- 这里假设你是将 Nginx 安装在
/usr/local/nginx目录中。如果你安装的路径不同,请根据实际情况修改ExecStart、ExecReload、ExecStop和PIDFile的路径。
- 这里假设你是将 Nginx 安装在
-
重新加载 systemd 配置:
在创建完服务文件后,运行以下命令让 systemd 重新加载服务配置:sudo systemctl daemon-reload -
启用 Nginx 开机自启动:
设置 Nginx 开机自启动:sudo systemctl enable nginx -
启动 Nginx 服务:
启动 Nginx 服务:sudo systemctl start nginx -
检查 Nginx 服务状态:
确认 Nginx 是否正在运行:sudo systemctl status nginx
2. 如果是使用 init.d 脚本
如果你的系统不支持 systemd,可以使用 init.d 脚本来设置开机自启动。
-
创建 init.d 脚本:
创建一个名为nginx的启动脚本,在/etc/init.d/目录下:sudo nano /etc/init.d/nginx -
写入启动脚本内容:
将以下内容粘贴到文件中:#!/bin/bash # nginx init script # chkconfig: 2345 20 80 # description: Nginx is an HTTP and reverse proxy server. start() { echo "Starting nginx" /usr/local/nginx/sbin/nginx } stop() { echo "Stopping nginx" /usr/local/nginx/sbin/nginx -s stop } restart() { stop start } status() { ps aux | grep nginx } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac- 根据你的 Nginx 安装路径修改
/usr/local/nginx/sbin/nginx。
- 根据你的 Nginx 安装路径修改
-
赋予脚本执行权限:
sudo chmod +x /etc/init.d/nginx -
设置自启动:
sudo chkconfig --add nginx sudo chkconfig nginx on -
启动 Nginx 服务:
sudo service nginx start
3. 总结
- 如果使用的是
systemd,你需要手动创建一个服务文件(nginx.service)来设置开机自启动。 - 如果你的系统不支持
systemd,可以使用init.d脚本来实现类似功能,并使用chkconfig设置开机自启动。
这些方法都能确保 Nginx 在 Linux 系统启动时自动启动。
浙公网安备 33010602011771号