Django+uwsgi+nginx+Ubuntu(二)

Django +Nginx+uwsgi(基于Ubantu系统)(二)

文章目录

  • Django +Nginx+uwsgi(基于Ubantu系统)(二)
  • 前言
  • 一、uwsgi
    • 1.测试uwsgi
    • 2.测试你的django项目
  • 二、配置nginx
    • 1.配置nginx
    • 2.运行nginx
  • 三、配置uwsgi
    • 1.配置uwsgi
    • 2.用uwsgi配置文件运行你的django项目
  • 总结


前言

提示:上一章我们讲了一些基础和nginx的安装和一些简单的命令。朋友们还需要自学一些ubuntu版本的命令


提示:以下是本篇文章正文内容,下面案例可供参考

一、uwsgi

我们装完nginx,接下来就是uwsgi,这些都是pyth的第三方包所以直接使用
pip install uwsgi安装即可

1.测试uwsgi

在你的项目的根目录下创建test.py文件

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] # python3
    #return ["Hello World"] # python2

然后运行下面的代码运行uwsgi

uwsgi --http :8000 --wsgi-file test.py

当然,我们也可以换成别的端口,但是切记要去服务器控制台打开相关端口号,然后输出你的ip地址+你的端口号(80默认隐藏)

2.测试你的django项目

能在pycharm或者别的软件中运行,不一定能在你的服务器上运行,所以我们还是要测试一下,以防遇见其他的错误。
输入你的python代码(这里我就不过多讲在服务器中python环境的安装了)

python manage.py runserver 0.0.0.0:8000

注意:0.0.0.0可以输入你的ip,也可以是django默认ip。还要注意端口号的占用问题哦。

二、配置nginx

1.配置nginx

现在,在 /etc/nginx/sites-available/目录中创建一个名为 mysite.conf 的文件)

server{
     
	
	listen 80;#端口号
	server_name imyuanli.com;#你的ip地址或者是域名
	charset utf-8;#编码
	client_max_body_size 75M;
	
	location /media {
     	
		alias /home/mysite/media; #你自己的项目地址后面加上/media
		}
	location /static{
     	
		alias /home/mysite/static;#你自己的项目地址后面加上/static 注意:static是你自己创建的在根目录即可或者你的app下面
		index yuanlifirst.html;
	}
	location / {
     
		uwsgi_pass  127.0.0.1:8001; #socket地址我们在这里默认ip
		include  /etc/nginx/uwsgi_params;
	}
}

2.运行nginx

部署静态文件
在运行 nginx 之前,您必须收集静态文件夹中的所有 Django 静态文件。在settings.py后面添加:
STATIC_ROOT = os.path.join(BASE_DIR, “/static/”)
注意:一定不要少了一个”/“
然后运行

python manage.py collectstatic

然后我们启动nginx

/etc/nginx 文件下 输入 service nginx  start

然后让nginx和uwsgi和你的test.py联系上

uwsgi --http :80 --wsgi-file test.py ##我这里的80是因为我们默认的socket当然你也可以输入下面的
uwsgi --socket :80 --wsgi-file test.py

运行看看会不会出现helloworld,如果出现了那么你的nginx应该就可以了。

三、配置uwsgi

1.配置uwsgi

我们先用下面代码运行一下你的django项目

uwsgi  --module mysite.wsgi --static-map /static=/home/mysite/static

如果没有问题,然后我们开始配置uwsgi
在你的项目下面创建文件名mysite_uwsgi(自己命名,为了方便管理我们就创建一个文件吧),在里面我们需要用命令创建一个ini文件,mysite.ini
输入以下内容(其实里面有一些干啥用的我也不是特别懂,请大哥们自行百度)

[uwsgi]

chdir = /home/mysite 
module = mysite.wsgi:application
processes = 10
max-requests =5000
uid=1000
gid=2000
harakiri = 60
socket = 127.0.0.1:8001  #这里需要和你nginx那里的配置文件相同
master = true
pidfile = /home/mysite_uwsgi/master.pid #一些配置文件
daemonzie = /home/mysite_uwsgi/mysite.log 
vacuum = true

2.用uwsgi配置文件运行你的django项目

uwsgi --ini mysite_uwsgi.ini#以防万一就加上你自己的路径吧

但是在我们运行前我们需要重启nginx,依然得切换到nginx的保存路径
然后运行

service nginx restart

我们可以输入下面的命令查看是否运行了nginx

ps -aux | grep nginx

然后我们用配置文件见mysite.ini运行uwsgi
你也可以输入上面的命令,就是要把nginx换成uwsgi来查看运行情况
如果你的项目,在浏览器上输入ip后显示成功那么说明没有什么问题了


总结

提示:大概就是这么个情况,提一嘴在django上静态文件经常不显示,我还没有彻底搞清楚如果大哥们又出现这样的问题的,先百度吧,等小弟明白以后再写一篇。(这个配置大概配了八九次才搞明白,别急慢慢来)
例如:附上小弟的ip(域名还没有通过审核)http://49.232.220.106/

你可能感兴趣的:(Django项目部署,nginx,django,ubuntu,linux)