我现在正在开发一个基于 Django-1.8.2 和 Ubuntu-15.04 的 Python-3.4.3 提供的虚拟环境的 Web 应用程序。
我的应用程序。现在正在开发服务器上工作,并且已经使用 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 可能需要一种全新的方式。欢迎任何建议。
请您参考如下方法:
看起来问题是关于 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
保存此文件后,我终止了 native apache2 服务并启用了新服务...
fukuda@ubuntu:~% sudo update-rc.d apache2 remove
fukuda@ubuntu:~% sudo systemctl enable apache_mod_wsgi.service
fukuda@ubuntu:~% sudo reboot
守护进程已成功启动,django 应用程序似乎正常工作(即,以与“手动启动”版本和开发服务器完全相同的方式响应。
唯一的问题是 dmesg 不会报告服务的启动。
