把Django项目部署到阿里云服务器

基于python3(虚拟环境)+nginx+uwsgi+django

首先,需要查看自带的python是 哪个版本的,看项目基于哪个python开发的,来配置需要的python版本。

我的服务器 自带的是 python3

下面,就开始部署吧。

1. 安装虚拟环境

首先可以查看 pip –version,如果没有安装pip的话,先去安装pip
可以使用自带的yum去安装

$ yum install pip

apt-get 默认是没有安装的,如果想用apt-get,还需要去安装apt-get

$ apt-get install pip

使用 virtualenv

$ pip install virtualenv
$ pip install virtualenvwrapper

安装成功后,创建虚拟环境

$ cd /var/www
$ virtualenv venv

创建完成后,启动虚拟环境

$ cd venv
$ source bin/activate

把我们的项目文件上传到 venv 文件目录下,安装我们项目需要用到的模块

pip install ****

我这里用的mysql的数据库,在setting.py文件中设置好数据库的用户名密码,在项目中运行下迁移密令

python manage.py makemigrations
python manage.py migrate

如果你的项目用到mysqlclient的话,安装时候如果有下面的报错信息,需要安装Python 3 和 MySQL 开发头文件和库

把Django项目部署到阿里云服务器
$ yum install python3-devel mysql-devel

安装按成后,在安装mysqlclient就可以成功啦。

pip install mysqlclient

安装完成后,启动我们的项目
需要我们去服务器配置一下安全组,把8000端口设置下。

python manage.py runserver 0.0.0.0:8000

这时访问我们的ip地址,就可以成功的访问到我们的项目了

2. 安装nginx

$ yum install nginx

安装完成后,可以查看nginx状态,是否启动

$ systemctl status nginx.service

没有启动的话,把nginx启动。访问ip地址,你会看到这个页面

把Django项目部署到阿里云服务器
nginx 启动停止重启指令
$ systemctl start nginx.service
$ systemctl stop nginx.service
$ systemctl restart nginx.service

3.安装uwsgi

pip install uwsgi

安装成功后,可以做一个简单的小测试

$ vim /home/test.py
$ def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

文件创建完成后,我们运行文件。

$ cd /home
$ uwsgi --http 0.0.0.0:8000 --wsgi-file test.py

成功后,我们访问ip地址,就可以看到 hello Woeld 了

把Django项目部署到阿里云服务器

4. 配置项目

上面的步骤都已经成功的话,现在我们开始配置我们的项目

1. nginx配置

nginx安装成功后,安装目录在 etc/nginx。
我们需要在 etc/nginx/conf.d 中创建一个**.conf 文件

$ vim /etc/nginx/conf.d/project.conf

文件内容就是下面这段代码

server {
          listen 8080 ;
          server_name **.**.**.** ;
          charset  utf-8;

          location / {
              include uwsgi_params;
              uwsgi_pass 127.0.0.1:8015;
          }

          location /static/ {
              alias  /var/www/venv/project/static/;
          }

}

listen 端口不能跟uwsgi_pass 端口一样,否则的话后面启动项目会报错,端口被占用

server_name 自己服务器公网IP地址;

static 自己Django项目的static路径;

uwsgi_pass 后面的 uwsgi配置会用到,他们需要保持一致

如果想了解更多的话,需要去 nginx 官网去学习学习。

重点

配置完后一定要重启,重启。

$ systemctl restart nginx.service

2. uwsgi配置

在项目目录下创建一个 uwsgi.ini 的文件。跟manage.py 同级。
这个文件也可以创建在别的文件夹下,但是运行的时候必须cd到当前目录下。

$ vim uwsgi.ini

在uwsgi文件中添加如下代码

[uwsgi]

chdir=/var/www/venv/project

home=/var/www/venv

uid=root
gid=root

module=botai.wsgi:application

socket=127.0.0.1:8015

master=true

workers=5

vacuum=true

thunder-lock=true

enable-threads=true

harakiri=30

post-buffering=4096

daemonize=/var/www/venv/project/logs/uwsgi.log

5. 启动项目

以上配置完成以后,我们需要去项目目录里去 启动我们的uwsgi来启动项目

$ cd /var/www/venv/project
$ uwsgi --ini uwsgi.ini

运行成功后,你可以直接去浏览器输入你的公网IP地址,就可以访问了!

Original: https://blog.csdn.net/tr_136163798/article/details/120901363
Author: 会代码的煎饼果子
Title: 把Django项目部署到阿里云服务器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/735296/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球