Nginx+uwsgi部署django项目

Nginx+uwsgi部署django项目

1 安装nginx 和uwsgi(ubuntu14.04)

sudo apt-getinstall nginx(安装nginx)

sudo pip installuwsgi(安装uwsgi)(如果没有安装pip工具,需要先安装pip,安装命令为:sudo apt-get install python-pip)

1.1 测试nginx是否安装成功

打开浏览器输入:localhost或你的ip,出现如下界面表明nginx安装成功


1.2 测试uwsgi是否安装成功

创建一个test.py文件,内容如下:

# test.py

def application(env, start_response):

start_response('200 OK', [('Content-Type','text/html')])

#return [b"HelloWorld"] # python3

return ["Hello World"] # python2

在终端输入命令:uwsgi --http:8000 --wsgi-file test.py

随后,打开浏览器输入http://localhost:8000,查看浏览器

页面中出现Hello world,表示uwsgi安装成功。


 

Nginx和uwsgi都安装完成以后我们就可以部署我们的django网站了。

 

2 django网站部署

注:/home/xcy/gsm_lte是我的django网站位置

2.1 Nginx服务器配置

  •   将/etc/nginx下的uwsgi_params文件复制到你的django项目主目录/home/xcy/gsm_lte下,命令为:cp –r /etc/nginx/uwsgi_params /home/xcy/gsm_lte/uwsgi_params
  • 在网站主目录下创建一个名为gsm_lte_nginx.conf的配置文件,命令为:

  1.    cd /home/xcy/gsm_lte
  2.      sudo gedit gsm_lte_nginx.conf,打开一个空文件,在文件中输入如下内容:

upstream django {

    #serverunix:///path/to/your/mysite/mysite.sock; # 使用unix套接字

    server127.0.0.1:8001; # 使用TCP端口请注释上一行,并取消本行注释,这里的端口指的是跑uwsgi的端口

}

 

# nginx服务器配置

server {

    # 监听端口

   listen      9090;

    # 域名

   server_name localhost;

    # 编码

   charset     utf-8;

 

    # 最大上传大小

   client_max_body_size 75M;  

 

    # Django 的media路径

    location/media  {

        alias/home/xcy/gsm_lte; 

    }

 

    # 静态文件路径

    location/static {

        alias/home/xcy/gsm_lte/static;

    }

 

    # 将动态请求转发到uwsgi跑的django程序

    location /{

       uwsgi_pass  django;

       include    /home/xcy/gsm_lte/uwsgi_params; # 从/etc/nginx中复制来的

       uwsgi_read_timeout 300;

    }

}

3. 保存并关闭

  •  在terminal中输入下列命令:sudo ln -s /home/xcy/gsm_lte/gsm_lte_nginx.conf     /etc/nginx/sites-enabled/gsm_lte_nginx.conf,将你的网站软链接到nginx配置文件/etc/nginx/sites-enabled中(可自行进入/etc/nginx/sites-enabled文件查看软链接是否产生成功,可分别运行如下两个命令:

             a.    cd /etc/nginx/sites-enabled;

             b.     ls

           查看是否操作成功)

至此,网站已经部署成功,但是为了避免权限问题网站报错,我们需要进入nginx的主配置文件,打开nginx的主配置文件,具体步骤为:在终端输入如下命令:sudo gedit /etc/nginx/nginx.conf

打开文件后,将user www-data一行注释,添加一行user root.然后保存,退出文件。


 

 最后重启nginx命令,在终端输入如下命令:sudo service nginx restart

2.2 测试网站是否部署成功

在终端中进入你的项目目录,如我进入我的django项目gsm_lte,命令如下:

a.cd /home/xcy/gsm_lte

然后在终端输入如下命令:uwsgi--socket :8001 --module gsm_lte.wsgi --chmod-socket=664


 如果终端没有报错,进入浏览器,输入你的ip地址和端口号即可访问你的网站,例如:我在浏览器中输入:localhost:9090即可访问我自己用django搭建的网站。

3 网站开机自启动

为了避免麻烦,我将web服务设为开机自启动,具体步骤如下:

打开配置文件/etc/rc.local

具体步骤为:在终端输入如下命令:sudo gedit/etc/rc.local

在/etc/rc.local文件中输入两个命令:

 a.   cd /home/xcy/gsm_lte(该命令进入django项目所在目录)

 b.   /usr/local/bin/uwsgi --socket :8001 --module gsm_lte.wsgi--chmod-socket=664(/usr/local/bin为uwsgi安装目录,pip安装默认此位置,不必更改)


4 总结

部署django项目,我们只要做了以下几件事:

  •   安装nginx和uwsgi
  •  给我们的网站写一个配置文件gsm_lte_nginx,并放到nginx中。
  •  更改访问网站的用户为root,避免网站访问时出现权限问题。
  •  Django网站开机自启动。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值