Ubuntu16版本部署,python+django+nginx+uswgi+sqliets部署总结

本文详细介绍在Ubuntu系统上部署Django项目的全过程,包括安装pip、切换Python版本、配置uwsgi与nginx,以及解决常见问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先要安装pip,命令为:

            sudo apt-get install python pip

如果pip安装失败,执行以下两条命令:

            wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate

            sudo python get-pip.py

2.Ubuntu自带python模块,通常是python2.7版本和python3.5版本。切换2.7版本命令:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

切换3.5版本命令是:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

可以通过命令来查看是否安装成功: python –version。
3.把自己要发布的项目复制放到服务器上,并验证django项目是否可以运行:
!!!如果项目不能在主机跟虚拟机上来回复制,需要重新安装Vmware Tools,在虚拟机的功能栏虚拟机选项中重新安装。

在服务器端运行如下命令:python manage.py runserver 0.0.0.0:8000
可以不用验证!!!前提是代码能够运行。

如果需要安装django用pip进行安装,如:pip install django==2.0.7,==可以指定django版本。
4.配置uwsgi
!!!有时安装uwsgi会失败,那么在安装uwsgi前,执行命令:

apt -get install libpython3.5-dev

①安装uwsgi 命令:pip install uwsgi
②验证uwsgi:

进入到和django项目的manage.py所在的文件夹,运行如下命令:
        uwsgi --http :8000 --module XXXX.wsgi
        XXXX改成自己项目名称

③配置uwsgi:

在项目同一目录下打开终端,输入如下命令:vi uwsgi.ini
编辑uwsgi.ini并保存(vi的使用方法自行学习…),编辑内容如下:
        [uwsgi] 
    socket = 192.168.141.128:8000   #(IP就是自己虚拟机的IP):8000
    chdir = /root/project/XXXX  #(就是项目路径,XXXX就是自己的项目名字)
    module = Sport.wsgi 
    master = true 
    processes = 10 
    chmod-socket = 664 
    vacuum = true
验证uwsgi ,在本目录下输入:uwsgi –ini uwsgi.ini   显示如下时:表示成功    * uWSGI is running in multiple interpreter mode * 
    spawned uWSGI master process (pid: 7158) 
    spawned uWSGI worker 1 (pid: 7160, cores: 1) 
    spawned uWSGI worker 2 (pid: 7161, cores: 1) 
    spawned uWSGI worker 3 (pid: 7162, cores: 1) 
    pawned uWSGI worker 4 (pid: 7163, cores: 1) 

5.生成将项目的静态文件全部集中到一个文件夹中:(这里主要是项目所依赖的各种样式) 如果你的工程的所有静态文件都一同一个文件夹下,则跳过此步骤。
首先修改项目settings.py,添加如下内容:

STATIC_ROOT = os.path.join(BASE_DIR,         'static')

在项目目录下输入如下命令:

python manage.py collectstatic

完成后,会发下目录下多了一个static文件夹。
6.安装nginx

安装nginx命令为:sudo apt-get install nginx

nginx的常规操作 有:
    /etc/init.d/nginx start    --启动
    /etc/init.d/nginx stop    --关闭
    /etc/init.d/nginx restart    --重新启动

可以尝试用主机连接服务器,成功会出现如下图:

这里写图片描述

7.配置nginx.conf
在项目同一级目录下打开终端,输入如下命令:

vi nginx.conf

编辑内容如下:
upstream django {
server 192.168.141.128:8000; #此处与之前是对应的!!
}

server {
    listen 80;
    server_name localhost;
    charset utf-8;

    client_max_body_size 75M;

    location /static {
        alias /root/project/XXXX/static; #项目static文件的路径
    }

    location / {
        uwsgi_pass django;
        include /etc/nginx/uwsgi_params;
    }
}

将nginx.conf 移动到/etc/nginx的配置文件目录下:
输入如下命令:

cd /etc/nginx/sites-enabled
进入此文件夹

再输入如下命令:

     ln -s /root/project/nginx.conf nginx.conf

将刚才的nginx.conf复制到此文件夹下并且也命名为nginx.conf ,同时将此文件夹下的defaule文件删除:

 命令是:rm default

此外,也将这个文件复制到/etc/nginx/sites-available文件夹下并删除default文件。
重新启动nginx:
/etc/init.d/nginx restart
验证nginx配置:
回到项目同一目录下,打开终端输入命令:uwsgi –ini uwsgi.ini 启动项目,然后在本地电脑登录服务器ip地址即可(不用指定端口,现在是默认访问80端口,而非8000端口)。
!!注意:如果出现静态文件无权访问的情况,vi /etc/nginx/nginx.conf,在第一行添加user root,然后再次重启nginx即可。
8.全部配置完成后,启动服务器只需要两个命令:

   /etc/init.d/nginx restart

打开项目终端,输入:

    uwsgi --ini uwsgi.in

语言切换需要在设置语言中下载安装包,xim是搜狗拼音输入法。
9.重要 ! 重要!非常重要!!!现在Ubuntu18版本坑太多,建议16版本。不懂多百度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值