在Ubuntu 14.04上将OpenResty作为服务运行
我需要使用Nginx和Lua以及一大堆其他扩展,所以我按照https://openresty.org/上的说明编译了Nginx的OpenResty变体。 这个过程非常顺利,现在我在/usr/local/openresty/nginx/sbin/
。 我执行./nginx -v
时报告的版本是1.9.3.2 – 正确。 我可以通过执行./nginx
启动并运行服务器。
但是,我希望能够通过apt-get install nginx
在启动时以通常的方式运行它作为服务运行。 我还希望能够使用诸如service nginx status|restart|stop|reload
等命令。当涉及到这种事情时,我是一个完全和完整的新手。 我试图在我的其他服务器上理解/etc/init.d/nginx
脚本的内容,但修改它以使用当前安装并不是我理解的。 我希望这里的某个人能够提供帮助。
现在,Ubuntu回答。
您正在使用Ubuntu Linux。 您已经拥有upstart或systemd(在此特定情况下为前者)。 不要从编写System 5 rc
脚本开始。
所以写一个upstart作业文件。 拿一个已经为nginx 编写过的,实际上是为OpenResty修改它。
Ubuntu 15.10版nginx-common软件包随附了一个upstart作业文件,开箱即用,如/etc/init/nginx.conf
; 虽然Ubuntu版本14.04 nginx-common软件包有几个版本,但却没有。 将文件直接从Debian源存储库( nginx.upstart
)中提取出来相当容易。 在nginx wiki上还有一个/etc/init/nginx.conf
作业文件。
应用OpenResty修改会产生以下结果:
#/ etc / init / openresty.conf 描述“OpenResty nginx” 从文件系统和静态网络开始 在运行级别停止[016] env DAEMON ='/ usr / local / openresty / nginx / sbin / nginx -c /usr/local/openresty/nginx/conf/nginx.conf' 期待分叉 重生 预启动脚本 [-x $ DAEMON] || { 停; 退出0; } $ DAEMON -t || { 停; 退出0; } 结束脚本 exec $ DAEMON pre-stop exec $ DAEMON -s退出
以通常的方式使用initctl start
, initctl stop
等作为upstart作业。
当然,人们早已做过这些修改。
进一步阅读
- Oliver Frommel(2014年)。
/etc/init/openresty.conf
。 Nginx的OpenResty发行版 。 ADMIN杂志 19。 - 爱德华斯通(2013-02-18)。
nginx-upstart.conf
。 openresty-的PyPI。 GitHub上。 - George Shammas(2015-08-11)。
/etc/init/nginx.conf
。 nginx维基。