启动时启动 Nginx

启动时启动 Nginx

我能够安装并运行 nginx 和 Passenger,但每次我重启服务器时,nginx 都无法启动。要启动 nginx 进程,我只需输入sudo /opt/nginx/sbin/nginx据我所知,我使用 ubuntu hardy 放入 /etc/init.d 中的任何内容都将被执行。有人知道可以模拟此命令行调用的命令吗?

sudo /opt/nginx/sbin/nginx

答案1

在启动时启动 nginx: sudo systemctl enable nginx(不会立即启动)

启动 nginx: sudo systemctl start nginx

答案2

感谢提供的信息,如果有人需要分步说明。请访问/etc/init.d并运行sudo nano nginx-passenger.sh,然后粘贴此代码:

#!/bin/bash
# this script starts the nginx process attached to passenger
sudo /opt/nginx/sbin/nginx

保存并退出。输入 使文件可执行sudo chmod +x /etc/init.d/nginx-passenger.sh。您可以输入以下内容来测试脚本是否有效,sudo /etc/init.d/nginx-passenger.sh这将运行脚本中的所有代码。在继续之前,验证它是否启动了 nginx。

然后仍在 /etc/init.d 目录中运行sudo update-rc.d nginx-passenger.sh defaults。完成所有这些后,重新启动服务器,ngnix 现在应该会在启动时自动生成

答案3

/etc/init.d 只是启动脚本的存放位置。但那里的脚本并不会自动执行任何操作。

init 系统使用 /etc/rc#.d 目录中的符号链接来访问 /etc/init.d 文件夹中的脚本。符号链接的名称需要以 S 开头(以启动选项运行脚本)和以 K 开头(以停止选项运行脚本),后面跟着优先级数字和脚本名称。

有关更多信息,请参阅以下内容
/etc/init.d/README
/etc/rc1.d/README
/etc/rc2.d/README

或者,您可以将想要运行的命令放入 /etc/rc.local 脚本中,该脚本在系统启动并完成执行 /etc/rc2.d/ 文件夹中的所有脚本后运行。

答案4

我使用这个脚本来启动一个由 Passenger 支持的 nginx:

http://library.linode.com/development/frameworks/ruby/ruby-on-rails/nginx-ubuntu-8.04-hardy

相关内容