Django 项目部署(阿里云)

传送:Vue代码部署到阿里云

1、首先把项目git到服务器。

git clone   你的git地址

2、安装virtualenv虚拟环境。

按照虚拟环境包: 

pip install virtualenv

创建虚拟环境 

virtualenv -p python[版本] [虚拟环境名称] 
virtualenv -p python3.6 venv    # 使用python3.6创建venv的虚拟环境
(此时我的venv路径是:/root/venv)

进入虚拟环境:

source  /root/venv/bin/activate

 为虚拟环境venv按照项目运行必须的包:

python install -r request.txt   # request.txt为你项目下面的所有依赖包

 3、试运行启动项目。

(venv) [root@zhen24 Project]# python manage.py runserver

提示:项目正常我们进行下一步。

4、安装nginx。 

sudo yum update
sudo yum install nginx

安装完成后。用你电脑的浏览器访问你的服务器的公网ip地址,看看安装成功没有!

 

5、配置nginx。

首先我们查看下nginx下默认的配置文件。

 cat /etc/nginx/nginx.conf

如图所示,我们在此文件下建立与我们项目关联的配置文件,文件名格式的后缀必须为.conf 结尾。

(venv) [root@zhen24 conf.d]# ls
mysite_nginx.conf

文件内容如下:

server {
        server_name  147.198.160.58;

        location / {
            include  /etc/nginx/uwsgi_params;        
            uwsgi_pass  127.0.0.1:8000;  
		}

    location /static {
       alias /root/Project/static;   # 项目下面的静态文件
    }
}

补充上面 /etc/nginx/uwsgi_params的内容如下: 

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

至此我们nginx配置已经完成。

6、配置uwsgi。

pip install uwsgi

在项目下面建一个uwsgi.ini的文件。

[uwsgi] 
chdir = /root/Project      # 项目绝对路径
module = Project.wsgi:application      # Project为你项目的名称
socket = 127.0.0.1:8000          
virtualenv= /root/venv    # 虚拟环境的目录
master = true
daemonize = /root/Project/run.log   # 项目下面建一个查看运行日志的log文件
disable-logging = true

查看项目目录下面的 wsgi.py那个文件和setting在同一个文件夹下面。

(venv) [root@zhen24 Project]# ll
total 28
-rwxr-xr-x 1 root root   43 Aug  4 15:59 __init__.py
drwxr-xr-x 2 root root 4096 Aug  5 22:25 __pycache__
-rwxr-xr-x 1 root root 5181 Aug  5 22:25 settings_dev.py
-rwxr-xr-x 1 root root 3709 Aug  5 22:17 settings.py
-rwxr-xr-x 1 root root  922 Jul  3 18:18 urls.py
-rwxr-xr-x 1 root root  407 Aug  5 19:23 wsgi.py

修改uwsgi.py文件对于的配置文件。

 

当然这个看个人,如果你用的是原来的settings文件,那就不需要改,我用的是settings_dev.py那个文件所以需要改,这个地方的配置和manage.py文件中的配置一样两者必须统一才可以部署成功,因为wsgi.py默认的是settings文件,配置也是用的setting文件的:

7、启动nginx。

systemctl start nginx     # 启动
systemctl restart nginx   # 重启
systemctl stop nginx      # 停止
或者
service nginx start     # 启动
service nginx restart   # 重启
service nginx stop      # 停止

查看nginx是否启动:

(venv) [root@zhen24 ]# ps -ef|grep nginx
root     24837     1  0 22:17 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx    24838 24837  0 22:17 ?        00:00:00 nginx: worker process
root     24967 24717  0 23:10 pts/0    00:00:00 grep --color=auto nginx

 8、启动uwsgi。

进入项目文件夹下面运行:

(venv) [root@zhen24 Project]# uwsgi --ini uwsgi.ini 

 查看uwsgi是否启动:

(venv) [root@zhen24 Project]# ps -ef | grep uwsgi
root     24972     1 11 23:13 ?        00:00:00 uwsgi --ini uwsgi.ini
root     24974 24972  0 23:13 ?        00:00:00 uwsgi --ini uwsgi.ini
root     24976 24717  0 23:13 pts/0    00:00:00 grep --color=auto uwsgi

9、至此项目部署完成,打开浏览器访问ip查看结果。

10、坑中之坑。

................

参考:https://www.jianshu.com/p/1b4c5e57cd92

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值