首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于mod_wsgi / Django的Synology DS上的Apache配置

用于mod_wsgi / Django的Synology DS上的Apache配置
EN

Stack Overflow用户
提问于 2019-01-13 05:46:57
回答 1查看 3.5K关注 0票数 1

我开始使用Django开发一个新网站。为了进行实际测试,我想在Synology DS212J NAS上运行它。按照官方的语法指南,我安装了ipkg和mod_wsgi包。下一步:按照标准教程,我创建了一个虚拟环境并在其中安装了Django。打开一个新项目并调整以下设置:https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-16-04我可以通过使用manage.py从Django访问"Hello World“站点

按照建议,我希望通过NAS上的apache服务器交换manage.py。所以我想我应该去编辑apache的配置文件,比如定义一个虚拟主机...然而,我不能本地化它的文件,因为与其他指南相比,它们似乎是在DSM6 (我使用的)上移动的。

在语法教程之后,我需要在哪里输入值?

由于我是一个新手,我是否需要专门为Apache加载mod_wsgi模块,如果是在哪里?

使用wsgi的基本模式而不是守护程序模式是个好主意吗?我不确定哪些Django模块将在以后的开发中使用。

感谢您的支持!

EN

Stack Overflow用户

发布于 2019-11-29 01:16:20

Control Panel> Network> DSM Settings> Enable Custom Domain: "test"webstation> general settings> main server http enable nginx中激活Python3包和网站(这将允许我们通过输入test.local来访问nas,并在稍后简化任务)。在control panel> terminal and smtp中启用ssh连接

在我们的例子"test.synology.me“中,我们使用synology的ddns服务来进行外部访问。

control panel> security> certificate中:我们使用let's encrypt生成SSL证书在ssh中连接到nas获得根权限sudo -i安装virtualenv:easy_install virtualenv我们设置了我们的虚拟环境:virtualenv -p python3 flasktest

安装了Flask和gunicorn:pip install flask gunicorn我们创建web应用程序,文件: init.py我们使用gunicorn:gunicorn --certfile /usr/syno/etc/certificate/system/default/cert.pem --keyfile /usr/syno/etc/certificate/system/default/privkey.pem -b 127.0 .0.1: 5000 app: app启动web应用程序在/etc/nginx/sites-enabled中,我们创建服务器配置文件,我们将使用nginx作为代理,在本例中,该文件将是flasktest.conf flasktest.conf文件:

`服务器{

代码语言:javascript
运行
复制
listen 443 ssl http2;
listen [::]:443 ssl http2;

gzip on;

server_name test.synology.me;

location / {
    proxy_pass https://127.0.0.1:5000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

error_log /volume1/projects/flasktest/logs/error.log; 
access_log /volume1/projects/flasktest/logs/acess.log; 

}`

打开control panel port> external access> router configuration> create> integrate application> enable the check box for webstation and apply

我们检查服务器文件,看是否输入了命令nginx -t

我们正在重启nginx synoservicecfg --restart nginx

您现在可以在https ** https: //test.synology.me**中从外部访问您的python web应用程序

更多的信息...要永久结束和访问您的应用程序,如果您将能够重新启动,崩溃...你可以创建一个脚本来重启gunicorn,否则网站会接管其他地方,如果你在本地输入ip nas,你将不会在python中看到你的web应用程序,因为我们没有在本地修改主配置文件/etc/nginx/nginx.conf,所以这是将显示的网站的默认index.html页面。

示例:

cd / volume1 / projects / flasktest source bin / activate gunicorn --certfile /usr/syno/etc/certificate/system/default/cert.pem --keyfile /usr/syno/etc/certificate/system/default/privkey.pem -b 127.0.0.1:5000 app: app </ dev / null 2> & 1 &

这种方法可以在其他python框架中找到。

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

https://stackoverflow.com/questions/54164165

复制
相关文章

相似问题

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