在服务器上uwsgi+nginx部署Django项目 - Go语言中文社区

在服务器上uwsgi+nginx部署Django项目


Django项目开发完毕,开发完成后用如下命令收集所有的包

pip freeze > plist.txt

本地测试正常运行之就可以部署到服务器上,我把我的真个部署过程分享出来,从域名和服务器的购买到虚拟环境、uwsgi和nginx的安装配置。希望对有需要的开发人员有所帮助。我的服务器环境是Ubuntu 16.04。

1、域名购买

购买域名可以到阿里云 万网:https://wanwang.aliyun.com/ 查询并购买,部分后缀的域名需要实名认证,自己查看网站上的相关提示信息.

2、服务器的购买

 

我的服务器是在搬瓦工购买的,详细内容可以看我之前的博文:搬瓦工(BandwagonHost VPS)购买并配置自己的服务器,以及用xshell登录自己的服务器,地址:http://blog.csdn.net/c2366994582/article/details/79251914,我的服务器配置为Ubuntu16.04,购买服务器之后会有一个ip地址,然后回到购买域名的地方,把自己的域名解析为自己购买的ip地址。

3、用Xshell登录服务器

详见:利用Xshell登录虚拟机和服务器,地址:http://blog.csdn.net/c2366994582/article/details/79252042

4、用root用户登录之后,我们一般不在root用户下去部署,需要新建一个用户,使用useradd命令添加一个用户,命令详情如下

我新添加的用户名为:python,切换到python用户

5、创建虚拟环境

虚拟环境的安装配置可以看这篇博文:http://blog.csdn.net/emperor_cj/article/details/78603026,我新建的虚拟环境名称为h1

6、虚拟环境下安装所需要的包

把自己的项目文件放在/home/python/projects目录下,我的项目名称为myproject,我的项目目录就是/home/python/projects/myproject,切换到虚拟环境:workon h1(h1是我的虚拟环境名称),使用命令

pip install -r plist.txt

安装所需要的包。

7、更改settings文件

 

DEBUG = False
ALLOW_HOSTS=['*',]表示可以访问服务器的ip

8、uwsgi的安装和配置

 

  • uWSGI实现了WSGI的所有接口,是一个快速、自我修复、开发人员和系统管理员友好的服务器
  • uWSGI代码完全用C编写
  • 安装uWSGI
pip install uwsgi
  • 配置uWSGI,在项目中新建文件uwsgi.ini,编写如下配置
[uwsgi]
socket=外网ip:端口(使用nginx连接时,使用socket)
http=外网ip:端口(直接做web服务器,使用http)
chdir=项目根目录
wsgi-file=项目中wsgi.py文件的目录,相对于项目根目录
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log

我的uwsgi.ini文件配置如下,uwsgi.ini文件位于项目根目录下,我的项目目录为myproject,如下

我的uwsgi.ini文件内容如下:

[uwsgi]
socket=184.170.221.171:8000
chdir=/home/python/project/myproject
wsgi-file=myproject/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid

daemonize=uswgi.log

说明:184.170.221.171是我的服务器地址,/home/python/project/myproject是我的项目根目录,myproject是我的项目名称,后面部分相同即可

  • 启动:uwsgi --ini uwsgi.ini
  • 停止:uwsgi --stop uwsgi.pid
  • 重启:uwsgi --reload uwsgi.pid
  • 使用http协议查看网站运行情况,运行正常,但是静态文件无法加载

可以使用 ps ajx|grep uwsgi命令查看uwsgi是否启动

9、静态文件

10、安装配置nginx

使用如下命令安装nginx

 

sudo apt-get install nginx

默认安装位置为/etc/nginx,该目录下有一个nginx.conf文件,使用cat命令查看该文件,发现配置文件位于conf.d文件夹里面

打开conf.d文件夹,使用vi编辑器编辑default.conf文件

编辑前:

编辑后:

注意:编辑前后只有红色方框内的内容发生了变化。

重启uwsgi和nginx,可使用 ps ajx|grep nginx查看nginx是否启动成功

至此,整个部署过程完成。

如果nginx安装部分有问题,查看https://blog.csdn.net/c2366994582/article/details/81909638,这里面nginx直接在nginx.conf里面配置,无需包含到其他文件。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/c2366994582/article/details/79382385
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-06 09:29:05
  • 阅读 ( 1889 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢