首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动启动mod_wsgi-express为django制作的apachectl脚本?

如何自动启动mod_wsgi-express为django制作的apachectl脚本?
EN

Stack Overflow用户
提问于 2015-06-01 14:19:36
回答 2查看 1.4K关注 0票数 3

我现在正在开发一个Web应用程序,它基于Django-1.8.2和Ubuntu-15.04的Python-3.4.3提供的虚拟环境。

我的应用。现在正在开发服务器上工作,并且已经使用mod_wsgi-4.4.11 (安装了pip)和Ubuntu的Apache成功部署。也就是说,在收集了静态文件并修改了db.sqlite3的文件权限后,我做了...

代码语言:javascript
复制
sudo ../bin/python manage.py runmodwsgi --setup-only --port=80 --user www-data --group www-data --server-root=/etc/mod_wsgi-express-80
sudo /etc/mod_wsgi-express-80/apachectl start

拥有一台可以正常工作的服务器。

我希望守护进程在启动时自动启动,但我没有机会编写init.d脚本或配置文件。很可能,15.04的systemd需要一种全新的方式。欢迎提出任何建议。

EN

回答 2

Stack Overflow用户

发布于 2015-06-06 15:31:43

看起来问题是关于Ubuntu systemd启动器,而不是django +mod_wsgi……

在处理完init.d脚本之后,我转到了systemd服务文件:

/lib/systemd/system/apache_mod_wsgi.service

代码语言:javascript
复制
[Unit]
Description=apache2 with mod_wsgi

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/mod_wsgi-express-80/apachectl start
ExecStop=/etc/mod_wsgi-express-80/apachectl stop

[Install]
WantedBy=multi-user.target

保存此文件后,我终止了本机apache2服务并启用了新服务...

代码语言:javascript
复制
fukuda@ubuntu:~% sudo update-rc.d apache2 remove
fukuda@ubuntu:~% sudo systemctl enable apache_mod_wsgi.service
fukuda@ubuntu:~% sudo reboot

守护进程已成功启动,django应用程序似乎工作正常(即,以与“手动启动”版本和开发服务器完全相同的方式响应。

唯一的问题是dmesg不会报告服务的启动。

票数 3
EN

Stack Overflow用户

发布于 2018-02-02 20:13:57

如果您在搜索如何使用init.d或类似的命令而不是with django,来启动mod_wsgi-express,请首先查看https://pypi.python.org/pypi/mod_wsgi#running-mod-wsgi-express-as-root

您应该使用setup-server:

mod_wsgi-express安装服务器wsgi.py --port=80 \--用户www-data --组www-data \--服务器根=/etc/mod_wsgi-express-80

这应该是OP回答的前提条件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30566836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档