使用nginx+uwsgi部署django应用

本文档详细介绍了如何使用nginx+uwsgi在服务器上部署Django应用程序。首先确保项目在本地调试完成,然后在服务器安装nginx和uwsgi。接着,复制并修改nginx配置文件,设置合适的用户权限和server段。在Django项目目录下创建django_wsgi.py和conf.xml文件,并分别写入相应内容。启动nginx服务和uwsgi进程后,通过服务器IP和指定端口检查部署是否成功。
摘要由CSDN通过智能技术生成

使用过django来开发网页的人都知道,django的manage.py自带了一个runserver命令,这个命令使得本地调试非常方便,然而在真正上线网站时对并发能力的支持非常重要,本教程教你用nginx+uwsgi来将django应用部署在服务器上。

教程:

1.首先保证django项目在本地调试完毕。(这是废话)

2.在服务器安装好nginx和uwsgi两个软件。(yum或者apt-get)

3.找到nginx.conf文件(位置在/usr/local/nginx/conf/nginx.conf),可以把这个nginx.conf文件作为模版,拷贝为另一个你自己的配置文件zcy.conf

4.修改zcy.conf,如果权限不够在第一行加上

user root your_username; #用户名是在服务器中的用户名

主要修改zcy.conf的server段如下:

server {
	listen 8183;#本地运行端口
	server_name 10.10.255.115;#本地运行ip
	
	location / {
	include uwsgi_params;
	uwsgi_pass 127.0.0.1:8077; #(本地环回端口)
	}
	
	location /static {
	root /home/your_username/.../mysite; #到mysite文件夹的绝对路径
	#用nginx来管理静态文件,否则会出现css样式丢失问题
	}
	
}


5.下一步在django项目文件夹mysite下创建两个文件:

django_wsgi.py文件内容如下:

#coding=utf-8
import os
import sys
import django.core.handlers.wsgi 
#if not os.path.dirname(__file__) in sys.path[:1]:
    #sys.path.insert(0, os.path.dirname(__file__))
reload(sys)
sys.setdefaultencoding('utf8')

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
 
#application = django.core.handlers.wsgi.WSGIHandler()
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()


注意:上面注释掉的两行是一些教程中给出的,版本比较老,函数神马的都用不了了~

conf.xml配置文件内容如下:

<uwsgi>  
  <socket>:8077</socket>  #本地环回端口,与zcy.conf文件中的相对应
  <chdir>/home/your_username/.../mysite</chdir>  #与zcy.conf中的路径一致,到mysite的绝对路径
  <module>django_wsgi</module>  #指定与本文件同级的django_wsgi.py文件
  <processes>4</processes>  #进程数设置为4
  <daemonize>uwsgi.log</daemonize>  #日志文件
</uwsgi> 
基本设置为以上,更多设置可以查看uwsgi配置文件的参数说明。

6.以上均设置好后,就可以上线网站了。

首先,开通服务器上的nginx服务。

命令:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/zcy.conf

(如果该命令出现端口占用的提示,就杀掉上一个占用端口的nginx进程)

然后,在mysite目录里,开通uwsgi。

命令:uwsgi -x conf.xml


7.最后在浏览器中输入10.10.255.115:8183(取决于服务器的ip和端口)去看看吧,一切正常!










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值