我现在正在开发一个Web应用程序,它基于Django-1.8.2和Ubuntu-15.04的Python-3.4.3提供的虚拟环境。
我的应用。现在正在开发服务器上工作,并且已经使用mod_wsgi-4.4.11 (安装了pip)和Ubuntu的Apache成功部署。也就是说,在收集了静态文件并修改了db.sqlite3的文件权限后,我做了...
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需要一种全新的方式。欢迎提出任何建议。
发布于 2015-06-06 15:31:43
看起来问题是关于Ubuntu systemd启动器,而不是django +mod_wsgi……
在处理完init.d脚本之后,我转到了systemd服务文件:
/lib/systemd/system/apache_mod_wsgi.service
[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服务并启用了新服务...
fukuda@ubuntu:~% sudo update-rc.d apache2 remove
fukuda@ubuntu:~% sudo systemctl enable apache_mod_wsgi.service
fukuda@ubuntu:~% sudo reboot守护进程已成功启动,django应用程序似乎工作正常(即,以与“手动启动”版本和开发服务器完全相同的方式响应。
唯一的问题是dmesg不会报告服务的启动。
发布于 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回答的前提条件。
https://stackoverflow.com/questions/30566836
复制相似问题