Ubuntu设置nginx自启动
通过源码编译安装的 Nginx(而不是 apt install
安装),不会自动注册为系统服务(systemd 服务),也不会在开机时自动启动。所以:
-
重启 Ubuntu 之后,Nginx 会 关闭(不会自己启动)。
-
你需要手动运行:
sudo /usr/local/nginx/sbin/nginx
正确做法:让它“重启后也能自动启动”
你需要创建一个 systemd 服务文件。以下是完整步骤:
1. 创建 Nginx 的 systemd 服务文件
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 quit
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true[Install]
WantedBy=multi-user.target
2. 重新加载 systemd 配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
3. 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
4. 查看状态
sudo systemctl status nginx
看到绿色 active (running)
就说明成功了。
5. 重启服务器后测试
重启服务器:
sudo reboot
重启完成后,再访问你的 Nginx 监听的端口(比如 http://your_ip:8080
),它应该会自动启动并响应请求。
如需卸载或关闭开机启动:
sudo systemctl disable nginx