涉及的內(nèi)容:DNS解析,SSL證書驗證,域名解析,Nginx代理,Gunicorn服務(wù),supervisor運維。

部署結(jié)果:將Django部署在阿里云服務(wù)器上,可以通過購買的域名使用https來進行訪問。

三種需求:情況一:只需要在公網(wǎng)訪問。該情" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 建站知識 > Django手把手部署阿里云:外網(wǎng)ip訪問,域名訪問,HTTPS域名訪問

Django手把手部署阿里云:外網(wǎng)ip訪問,域名訪問,HTTPS域名訪問

時間:2023-02-08 00:52:01 | 來源:建站知識

時間:2023-02-08 00:52:01 來源:建站知識

平臺:阿里云

涉及的內(nèi)容:DNS解析,SSL證書驗證,域名解析,Nginx代理,Gunicorn服務(wù),supervisor運維。

部署結(jié)果:將Django部署在阿里云服務(wù)器上,可以通過購買的域名使用https來進行訪問。

三種需求:

情況一:只需要在公網(wǎng)訪問。該情況只需要買服務(wù)器即可,使用服務(wù)器ip地址便可以訪問。

情況二:需要使用域名訪問,但是不需要使用https。該情況需要在情況一下再購買域名和DNS域名解析服務(wù)。(注意,如果是國內(nèi)的服務(wù)器,希望使用域名訪問,服務(wù)器需要備案,需要提交文件以及需要審核時間,如果使用國外服務(wù)器,不需要備案)

情況三:需要使用https域名訪問服務(wù)器。該情況需要在情況二下額外購買ssl證書。

工具:finalshell(推薦,十分好用的免費shell軟件,全平臺支持,用來連接服務(wù)器。SSH工具 客戶端)

(由于阿里云經(jīng)常更新,部分操作界面會有改變,但整體的流程是一樣的)

情況一:

  1. 購買:
在阿里云通常購買“云服務(wù)器ECS”即可,具體的配置根據(jù)你的需求,購買完成后可以在控制臺看到你的服務(wù)器。

2. 安裝finalshell

根據(jù)平臺安裝好finalshell之后,連接服務(wù)器,選擇ssh連接,輸入ip(主機),用戶名和密碼,名稱任意。

連接好服務(wù)器之后,安裝運行項目所需要的虛擬環(huán)境(本文使用的是virtualenv,相關(guān)內(nèi)容可查閱資料),并將項目上傳到服務(wù)器上。

以下是我的項目結(jié)構(gòu),在/home目錄下包括venv文件夾(虛擬環(huán)境)和code文件夾(項目文件目錄),其中在code文件夾下,Code文件夾是配置文件夾,apps文件夾是應(yīng)用文件夾(一個Django項目包含多個應(yīng)用)。

3. 安裝Gunicorn

進入虛擬環(huán)境

source /home/venv/bin/activatepip install gunicorn4. 安裝Nginx

可以直接使用yum install nginx安裝,本文安裝目錄在/etc/下,配置文件如下,其中/static是存儲靜態(tài)文件,包括css,js,imgs等,/media是存儲上傳文件等。

假設(shè)服務(wù)器ip為

192.168.77.58

server{ charset utf-8; listen 80; server_name 192.168.77.58; location /static { alias /home/Code/static; } location /media { alias /home/Code/media; } location /{ proxy_set_header Host $host; proxy_pass http://unix:/tmp/192.168.77.58.socket; } }收集Django項目中的靜態(tài)文件:

進入項目的環(huán)境,輸入

python manage.py collectstatic注意將Django項目中settings.py文件中

DEBUG = FalseALLOWED_HOSTS = ['*']以及將STATICFILES_DIRS改成

STATIC_ROOT=os.path.join(BASE_DIR,'static')將urls.py中的STATICFILES_DIRS也改成STATIC_ROOT

5. 安裝supervisor

注意,supervisor需要在Python2.7環(huán)境下安裝,(Python3安裝不兼容)

pip install supervisorsupervisor的使用方法:Supervisor使用教程 - 飛鴻影 - 博客園

安裝后很可能遇到問題:unix:///tmp/supervisor.sock no such file

解決方法:挽歌:解決unix:///tmp/supervisor.sock no such file的問題

配置方法:在配置文件最后加上

[program:Code]command=/home/venv/bin/gunicorn --bind unix:/tmp/192.168.77.58.socket Code.wsgi:applicationdirectory=/home/Codeautostart=trueautorestart=truestdout_logfile=/home/Code/log/gunicorn.logstderr_logfile=/home/Code/log/gunicorn.err6. 配置阿里云安全組

登陸阿里云——控制臺——ECS實例——點擊服務(wù)器名稱

配置規(guī)則——入方向——快速添加

7. 啟動nginx和supervisor和重新加載配置文件

PS:殺死進程的方法:

ps -ef | grep supervisor(進程名稱)kill 進程號啟動nginx

nginxnginx重新加載配置文件

nginx -s reload啟動supervisor

supervisordsupervisor更新新的配置

supervisorctl updatesupervisor重啟所有管理的應(yīng)用

supervisorctl reload

情況二:

在完成情況一的基礎(chǔ)上

  1. 購買
需要購買云解析DNS和域名,域名可以在其它域名服務(wù)商進行購買,本文對域名的購買過程不做介紹,云解析DNS在阿里云購買。

a. 免費版云解析DNS:

云解析DNS——域名解析——權(quán)威域名——添加域名:

之后選擇對應(yīng)域名的解析設(shè)置——添加記錄

記錄類型:A

記錄值:ECS服務(wù)器ip地址

b. 付費版云解析DNS:

云解析DNS——域名解析——版本套餐管理

購買套餐后綁定域名,之后到權(quán)威域名處,擇對應(yīng)域名的解析設(shè)置——添加記錄,添加方法同上。

DNS的配置就結(jié)束了。之后還需要到對應(yīng)的域名服務(wù)商給對應(yīng)的域名配置DNS解析服務(wù)器,對應(yīng)的服務(wù)器地址為上圖圈出來的http://vip1.aliyun.comhttp://vip2.aliyun.com,阿里云下的域名可能可以自動配置,其它域名服務(wù)商需要自己修改DNS配置。

阿里云下域名的DNS自動配置結(jié)果如下

2. Nginx配置

假設(shè)域名為http://www.code.com

server{ charset utf-8; listen 80; server_name www.code.com; location /static { alias /home/Code/static; } location /media { alias /home/Code/media; } location /{ proxy_set_header Host $host; proxy_pass http://unix:/tmp/www.code.com.socket; } }3. supervisor配置

配置方法:在配置文件最后加上

[program:Code]command=/home/venv/bin/gunicorn --bind unix:/tmp/www.code.com.socket Code.wsgi:applicationdirectory=/home/Codeautostart=trueautorestart=truestdout_logfile=/home/Code/log/gunicorn.logstderr_logfile=/home/Code/log/gunicorn.err4. nginx和supervisor重新加載配置文件

情況三:

在情況一和情況二的基礎(chǔ)上

  1. 購買
在阿里云購買SSL證書即可,根據(jù)需求選擇(所有的證書應(yīng)該都能夠開啟SSL服務(wù),即使用https進行訪問,只不過可以使用的域名數(shù)目不一樣,以前可以有免費版可以白嫖的,今年找不到了,嚶嚶嚶,如果哪位大佬有白嫖SSL證書的方法,麻煩指點我一下)

購買證書的時候,將證書與域名進行綁定,之后需要進行申請驗證,如果域名在阿里云,會出現(xiàn)以下界面

此時不要關(guān)閉這個頁面,同時打開云解析DNS,選擇對應(yīng)域名的解析設(shè)置——添加記錄,將上面的解析記錄添加上,在進行驗證。特別注意,這個驗證的記錄值是隨時更新的,每次打開驗證界面,記錄值都是不一樣的,因此添加解析配置過程和驗證過程要同步進行。

驗證申請成功后,通過經(jīng)過十分鐘到二十分鐘,會現(xiàn)實驗證通過,之下下載對應(yīng)的證書,會得到一個壓縮包,里面有兩個文件,一個是以.pem結(jié)尾,一個是以.key結(jié)尾

2. 配置nginx

在nginx下新建文件夾cert,將上面證書下載得到的兩個文件上傳到/etc/nginx/cert中

server{ charset utf-8; listen 443; server_name www.code.com; ssl on; ssl_certificate /etc/nginx/cert/code.com.pem; ssl_certificate_key /etc/nginx/cert/code.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location /static { alias /home/Code/static; } location /media { alias /home/Code/media; } location /{ proxy_set_header Host $host; proxy_pass http://unix:/tmp/www.code.com.socket; } } server{ listen 80; server_name www.code.com; rewrite ^(.*) https://$server_name$request_uri? permanent; }3. 配置阿里云安全組

登陸阿里云——控制臺——ECS實例——點擊服務(wù)器

配置規(guī)則——入方向——快速添加

4. nginx和supervisor重新加載配置文件

至此,三種情況的Django部署已經(jīng)全部介紹完畢。

關(guān)鍵詞:訪問,把手,部署

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉