通过虚拟机Ubuntu Server+uWSGI+Nginx部署Django项目

版权声明:此文章版权归呆呆所有,转发请注明出处! https://blog.csdn.net/zhangyu4863/article/details/82383446

1、 配置Xshell并连接Ubuntu Server
2、 配置Ubuntu Server的基本环境
1)安装python-pip
sudo apt install python-pip

2)安装Django
sudo pip install Django==1.10.6

3)安装uWSGI
sudo pip install uwsgi

4)测试uWSGI
uwsgi –http :8001 –wsgi-file test.py // 注意:我的test.py文件与uWSGI在同一级目录中测试,若不在一起,则应写绝对路径或相对路径;在本地主机浏览器输入 虚拟机IP地址:8001,如果发现输出Hello Python则说明uWSGI正常。

// test.py里的内容:
def application(env,start_response):
start_response(‘200 OK’,[(‘Content-Type’,’text/html’)])
return[“Hello Python2!”]
#return[“Hello Python3!”]

5)测试Django
在项目中的 settings.py 中设置
ALLOWED_HOSTS = [“192.168.2.111”,”127.0.0.1”,”localhost”] //192.168.2.111为我虚拟机IP地址

运行python manage.py runserver 192.168.2.111:8000

此时在本地主机浏览器中键入192.168.2.111:8000发现运行正常的Django项目

6)配置并测试uWSGI+Django
如果成功启动Django项目,则尝试下面的命令
sudo uwsgi –http :8000 –module mysite.wsgi //注意这里的mysite为你项目名,应先将终端切换目录到mysite工程文件夹,再部署到HTTP端口8000
再次使用浏览器,打开http://192.168.2.111:8000,看工程是否启动
若成功,则说明你此时已经将uWSGI与Django打通

7)安装Nginx
sudo apt-get install ngnix

启动服务:sudo service nginx start
停止服务:sudo service nginx stop
重启服务:sudo service nginx restart

启动nigix服务后,打开浏览器,访问127.0.0.1:80,出现Welcome to Nginx!则表明配置成功。//这里我不再说本地主机该如何测试了,上面的已经解释过了。

8)配置并测试uWSGI+Nginx+Django
第一步:将nginx目录下的uwsgi_params复制到Django项目中,结果如下:

abloume@ubuntu:/usr/local/etc/upload$ ls
db.sqlite3 manage.py uploadfile uwsgi_params
file upload venv

第二步:在此目录中创建uwgsi.ini并编写如下:

[uwsgi]
print=uwsgi start…..
http=:8000 # 端口地址必须与nginx.conf相应配置的端口一致
chdir=/usr/local/etc/upload/
module=upload.wsgi
master=true
no-orphans=true
processes=4
threads=2

第三步:对nginx.conf进行配置

server {
listen 192.168.2.106:80; # [您的IP]:80
location / {
include /usr/local/etc/upload/uwsgi_params; # [您的Django项目下的uwsgi_params]
uwsgi_pass 192.168.2.106:8000; # [您的IP]:8000 端口也是随意,但必须与之前编写的端口地址保持一致
}
}

第四步:测试
在命令行中运行如下两个命令:
sudo service nginx start # 开启nginx服务
sudo uwsgi –ini /usr/local/etc/upload/uwsgi.ini # 运行uwsgi.ini
此时访问[您的IP]:8000若出现你的Django项目,说明你也OK了~

猜你喜欢

转载自blog.csdn.net/zhangyu4863/article/details/82383446