服务器(Aliyun)部署Django项目(Ubunto版)

方法一

1.购买阿里云服务器

此处用的是Ubunto版linux系统

2.设置阿里云密码

3.XShell连接阿里云

连接时需要输入用户名和密码进行验证,用户名:root,密码:阿里云服务器密码


服务器(Aliyun)部署Django项目(Ubunto版)_第1张图片

4.安装包

a)更新源

sudo apt update

b)安装mysql

apt install mysql-server mysql-client

4.设置远程访问mysql

a)查找mysql.conf

find / -name mysql.sql


b)注释mysqld.cnf文件的bind_address

路径:/etc/mysql/mysql.conf.d
文件:mysqld.cnf

c)连接数据库

mysql -u root -p

d)进入mysql数据库

show databases >> use mysql

e)在数据库中输入下面的内容, 第一个引号内的内容不修改,第二个引号中输入数据库的密码

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root@123' WITH GRANT OPTION;
flush privileges;
exit;

f)重启mysql服务

service mysql restart

5.在阿里云的安全组件中添加3306端口

服务器(Aliyun)部署Django项目(Ubunto版)_第2张图片

6.将本地数据库同步到服务器

a)新建连接,连接服务器

主机名或ip地址为服务器外网地址

b)数据库同步到服务器
服务器(Aliyun)部署Django项目(Ubunto版)_第3张图片

7.项目上传到服务器 Xftp

通常在/home/目录下新建一个名为app的文件夹,在app下新建src conf log目录;src存放项目文件,conf存放配置文件,log存放日志文件。

8.配置项目文件

a)配置settings.py

>>>当 DEBUG = True 时,浏览器会自动渲染静态页面,改为False之后,浏览器不会自动渲染,需要配置statis路径。
>>>要允许所有用户都可以访问服务器,需要设置ALLOWED_HOST。
>>>配置DATABASES

DEBUG = False

ALLOWED_HOST=['*']

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

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '服务器公网地址',
        'USER': 'root',
        'PASSWORD': '服务器中数据库密码',
        'PORT': '3306',
        'NAME': '服务器中数据库名称',
    }
}
b)配置主目录urls.py
from axf_app import views

url(r'^$', views.home),
url(r'^static/(?P.*)$', serve, {"document_root": settings.STATIC_ROOT}),
url(r'^media/(?P.*)$', serve, {"document_root": settings.MEDIA_ROOT}),

8.安装pip3

apt install python3-pip

9.安装项目所需要的包

pip3 install django==1.11
pip install mysql

10.查看进程

netstat -lntp

11.启动项目

默认是80端口

python3 manage.py runserver 0.0.0.0:80

方法二:使用 nginx+uwsgi 配置django 项目

1.更新源

sudo apt update

2.安装nginx

sudo apt-get install nginx 

3.启动nginx

a)查看状态

systemctl status nginx

b)启动nginx

systemctl start nginx

4.安装uwsgi

pip install uwsgi

5.创建存放配置文件、日志、django项目的文件夹

通常创建文件夹目录如下:/home/app/ log conf log

mkdir app
cd app
mkdir log conf src

6.配置自定义的nginx配置文件

此文件在conf包内创建,命名为 nginx.conf 。

server {
        listen       80;  # 监听端口
        server_name 47.92.164.198 localhost; # 公网地址 域名

        access_log /home/app/log/access.log;
        error_log /home/app/log/error.log;

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

        location /static/ {
            #设置static的路径
            alias /home/app/src/day11axf0/static/; 
            expires 30d;
        }

}

7.nginx的配置文件中加载自定义的nginx配置文件

a)查找nginx配置文件路径
find / -name nginx.conf
>>> /etc/nginx/nginx.conf
b)修改nginx.cnf内容

进入nginc.cnf所在路径,打开此文件,在server中加入以下配置:路径是自定义的nginx配置文件的路径。*.conf表示所有conf文件。

include /home/app/conf/*.conf;

8.配置uwsgi文件

在conf包内创建,命名为:uwsgi.ini

[uwsgi]

    # 作为主进程
    master = true

    # 开启4个子进程
    processes = 4

    # 项目路径
    pythonpath = 项目路径

    # newprojectname 自己的项目名称
    module = newprojectname.wsgi

    socket = 127.0.0.1:8890

    # uwsgi.log的路径
    logto = /home/app/log/uwsgi.log

9.重启nginx

server nginx restart

10.查看nginx是否启动成功

server nginx status

11.启动uwsgi

在自己写的uwsgi.ini文件所在路径启动

uwsgi --ini uwsgi.ini

你可能感兴趣的:(服务器(Aliyun)部署Django项目(Ubunto版))