标签:127.0 启动 tornado server Nginx Django 8000
一,需要解决的问题?
1.1,核心需求是:近期我需要部署本地代码到服务器,想现在本地走一下整体流程及简单原理。
1.2,相关知识:
二,部署思路
整体思路分两步:使用tornado启动django项目,然后通过Nginx进行部署。
1,通过tornado启动本地Django项目(而非本地的manage.py运行项目);
1.1,需要达到的前提条件
需要先用manage.py跑通项目
1.2,在1.1的基础上在manage.py同级目录新建tornado启动代码(tornado框架本身我不是很了解,只能不求甚解的贴出代码)
代码如下:
# tonadoService.py
10 import os 11 from tornado.options import options, define 12 from tornado import httpserver 13 from tornado.ioloop import IOLoop 14 from tornado import wsgi 15 from django.core.wsgi import get_wsgi_application 16 17 port = 8000 18 projectName = "renting" 19 20 os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{}.settings'.format(projectName)) 21 22 application = get_wsgi_application() 23 define('port', port, type=int) 24 25 if __name__ == '__main__': 26 options.parse_command_line() 27 app = wsgi.WSGIContainer(application) 28 http_server = httpserver.HTTPServer(app, xheaders=True) 29 http_server.listen(options.port) 30 IOLoop.instance().start()
1.3,启动tonadoService.py
需要注意的是18行的 projectName 需要和项目名称一致(见上我的截图上方有项目名),这样才能获取到项目配置
同时也要注意settings文件进行生产前的检查,别把调试模式放到生产了。
到此阶段就已经可以正常访问项目了,见图。剩下就是处理Nginx代理的事了。
2,配置Nginx达到反向代理的目的。
2.1,在Nginx所在目录的conf/nginx.conf里找到如下配置,
1 server { 2 listen 80; 3 server_name 127.0.0.8; 4 5 #charset koi8-r; 6 7 #access_log logs/host.access.log main; 8 9 location / { 10 root html; 11 # index index.html index.htm; 12 # index http://127.0.0.1:8000/user/login; 13 # proxy_pass http://127.0.0.1:8000/user/login; 14 # proxy_pass http://127.0.0.1:8000/user/reg; 15 proxy_pass http://127.0.0.1:8000/introducer/login; 16 17 18 }
1、全局 server 块
最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。
2、location 块
一个 server 块可以配置多个 location 块。
这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称(也可以是 IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
2.2,查看是否启动Nginx
2.2.1,Nginx命令
进入Nginx目录启动Nginx:start nginx
重载Nginx:nginx -s reload
关闭Nginx:nginx -s stop
2.2.2,查看是否启动Nginx命令
查看端口找到对应进程号:
netstat -ano | findstr 8000 --> 3136
8000 端口是项目里设置的端口(见上tornadoService代码),能查到进程号则是启动成功。
也能通过如下命令杀死进程:
根据进程号强制杀进程:
tasklist /F /pid 3136
2.2.3,启动项目
先通过tornado启动Django项目,然后启动Nginx(配置如下),在地址栏输入监听地址127.0.0.1。
项目启动成功。
标签:127.0,启动,tornado,server,Nginx,Django,8000 来源: https://www.cnblogs.com/two-peanuts/p/16157855.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。