伺服器(Aliyun)部署Django專案(Ubunto版)

weixin_34236869發表於2018-05-12

方法一

1.購買阿里雲伺服器

此處用的是Ubunto版linux系統

2.設定阿里雲密碼

3.XShell連線阿里雲

連線時需要輸入使用者名稱和密碼進行驗證,使用者名稱:root,密碼:阿里雲伺服器密碼


10914466-66b184ade41fc4ad.png

4.安裝包

a)更新源

sudo apt update

b)安裝mysql

apt install mysql-server mysql-client

4.設定遠端訪問mysql

a)查詢mysql.conf

find / -name mysql.sql


10914466-70e59b3a555e0848.png
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埠

10914466-65ea85995ad09ae4.png

6.將本地資料庫同步到伺服器

a)新建連線,連線伺服器

主機名或ip地址為伺服器外網地址

b)資料庫同步到伺服器
10914466-de48ba05cc182205.png

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<path>.*)$', serve, {"document_root": settings.STATIC_ROOT}),
url(r'^media/(?P<path>.*)$', 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

相關文章