前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux部署Django (Nginx + uwsgi + Python3 + Django)全过程

Linux部署Django (Nginx + uwsgi + Python3 + Django)全过程

作者头像
陈雨尘
发布2019-01-28 10:40:07
2.7K0
发布2019-01-28 10:40:07
举报
文章被收录于专栏:雨尘分享雨尘分享

最近把之前的服务器做了转移,重新部署,竟然发现有些生疏,在此做下总结以便日后可以熟悉点,亦可以帮助有需要的人。这里只写大流程可能会遇到一些问题可以参考

Linux 下部署Django项目你可能会遇到的问题!

系统: centos_7 + Python 3.5.2 + nginx-1.13.7 + uWSGI 2.0.17.1 + Django2.2.0


具体步骤如下:

1.升级Python3

系统自带的一般为Python2,需要对旧版本进行升级

代码语言:javascript
复制
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar -zxvf Python-3.5.2.tgz
cd Python-3.5.2
./configure 
make 
make install  

查看结果

代码语言:javascript
复制
 python3 -V
 Python 3.5.2

设置python 默认版本3.x

代码语言:javascript
复制
 ls -al /usr/bin | grep python
 -rwxr-xr-x.  1 root root      11216 12月  1 2018 abrt-action-analyze-python
 lrwxrwxrwx.  1 root root          6 4月  30 12:11 python -> python2
 lrwxrwxrwx.  1 root root          5 4月  30 12:11 python2 -> python2.7
 -rwxr-xr-x.  1 root root       7136 4月 20 2018 python2.7

将原来 python 的软链接重命名:

代码语言:javascript
复制
  mv /usr/bin/python /usr/bin/python.bak
  ln -s /usr/local/bin/python3 /usr/bin/python
  python -V
  python 3.5.2

2.升级pip3(该过程可能要安装 setuptools

代码语言:javascript
复制
  wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate  
  tar xvf pip-1.3.1.tar.gz  
  python pip-1.3.1/setup.py install 

3.安装Django (很多方法可以自己选)

代码语言:javascript
复制
 pip install django

4.安装uwsgi

代码语言:javascript
复制
pip install uwsgi

5.安装nginx和配置nginx.conf文件

代码语言:javascript
复制
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz
./configure
make
make install

.conf文件配置

代码语言:javascript
复制
server {
listen 8996; #暴露给外部访问的端口
server_name localhost;
    charset utf-8;
location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:8997; #外部访问8996就转发到内部8997
}
location /static/ {
    alias /home/www/myproject/myapp/static/; #项目静态路径设置
  }
}

6.配置diango

代码语言:javascript
复制
<uwsgi>
<socket>127.0.0.1:8997</socket><!-- 内部端口,自定义注意跟.conf 一致 -->
    <chdir>/home/www/myproject</chdir><!-- 项目路径 -->
        <module>myproject.wsgi</module>
            <processes>4</processes> <!-- 进程数 --> 
<daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

7.运行nginx

代码语言:javascript
复制
   cd /usr/local/nginx/sbin
  ./nginx  
  //没有任何输出说明启动成功

这时候可以打开网页访问对应IP了

8.运行uwgix

代码语言:javascript
复制
cd 到项目
uwsgi -x  项目.xml
// [uWSGI] parsing config file my_blog.xml 一般这样输出就说明成功了

这个时候访问IP就可以打开具体的网页喽

一般来说到这里就算搞成了,但是现实中肯定有很多问题,对于这些问题我也做了总结有需要的可以查看Linux 下部署Django项目你可能会遇到的问题! 下面我对经常用的指令做下总结方便日后使用


常用指令

配置 nginx.conf文件

代码语言:javascript
复制
  cd /usr/local/nginx/conf/
  vim nginx.conf

启动: nginx

代码语言:javascript
复制
cd /usr/local/nginx/sbin
./nginx

运行 uwsgi

代码语言:javascript
复制
  uwsgi -x my_blog.xml

查看 nginx 日志

代码语言:javascript
复制
 tail -f /usr/local/nginx/logs/access.log

查看日志 uwsgi

代码语言:javascript
复制
tail -f uwsgi.log

查看进程号

代码语言:javascript
复制
 ps -ef|grep nginx

杀死进程

代码语言:javascript
复制
   kill   进程ID

查看端口使用情况

代码语言:javascript
复制
netstat -ntulp|grep 80

MAC查看端口占用情况

代码语言:javascript
复制
lsof -i tcp:8000
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.01.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统: centos_7 + Python 3.5.2 + nginx-1.13.7 + uWSGI 2.0.17.1 + Django2.2.0
  • 1.升级Python3
  • 2.升级pip3(该过程可能要安装 setuptools)
  • 3.安装Django (很多方法可以自己选)
  • 4.安装uwsgi
  • 5.安装nginx和配置nginx.conf文件
  • 6.配置diango
  • 7.运行nginx
  • 8.运行uwgix
  • 常用指令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档