亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

Django搭建深度日記:將項目部署到服務器-深度日記官方網站(django搭建個人博客)

代碼部署

首先安裝相關的環境庫

root@deep-diary:~# sudo apt-get install Nginxroot@deep-diary:~# sudo apt-get install python3root@deep-diary:~# sudo apt-get install python3-piproot@deep-diary:~# sudo pip3 install virtualenv

之前開發時虛擬環境用的 python 自帶的,為了避免讀者的版本不同造成的各類錯誤,穩妥起見用 virtualenv 庫來創建虛擬環境,操作步驟都是差不多的。

Django搭建深度日記:將項目部署到服務器-深度日記官方網站(django搭建個人博客)

在虛擬環境中,打包相關依賴庫,便于直接在服務器進行安裝

創建網站目錄

root@deep-diary:~# mkdir -p /home/sites/deep-diary.comroot@deep-diary:~# cd /home/sites/deep-diary.com/root@deep-diary:/home/sites/deep-diary.com#

參數說明

  • -p 確保目錄名稱存在,不存在的就建一個。

Django搭建深度日記:將項目部署到服務器-深度日記官方網站(django搭建個人博客)

將本地代碼直接復制到服務器

接下里需要做就是將本地代碼復制到服務器,這里推薦一個工具軟件WinSCP, 這個軟件可以使用多種協議,連接到服務器,對服務器文件進行可視化操作。

接著在服務器上生成虛擬環境,在這里用 virtualenv 生成并激活了虛擬環境:

root@deep-diary:/home/sites/deep-diary.com# virtualenv --python=python3.8 envcreated virtual environment CPython3.8.10.final.0-64 in 840ms......root@deep-diary:/home/sites/deep-diary.com# source env/bin/activate(env) root@deep-diary:/home/sites/deep-diary.com#

接下來就是安裝庫、收集靜態資源、數據遷移了:

為了避免造成混亂,數據遷移之前,我們先刪除本地所有的migratioins記錄都刪掉,重新開始生成

deep_diary# python3 manage.py collectstaticdeep_diary# python3 manage.py migrate

如果migrate 報錯,可以嘗試用

deep_diary# python3 manage.py migrate --fake初始化已存在的表 migrate --fake-initial

代碼部署基本就完成了,接下來就是配置 nginx

Nginx

啟動nginx 服務

(env) root@deep-diary:/home/deep_diary# sudo service nginx start

現在我們就可以用公網ip來訪問這個nginx引導頁了,哈哈,小功告成,先喝口小咖啡!

前路漫漫,咱們接著繼續努力

Django搭建深度日記:將項目部署到服務器-深度日記官方網站(django搭建個人博客)

Nginx 首頁

(env) root@deep-diary:/home/deep_diary# cd /etc/nginx/sites-available/(env) root@deep-diary:/etc/nginx/sites-available# lsdefault(env) root@deep-diary:/etc/nginx/sites-available# vi deep-diary.com

關于 vi 編輯器如何使用也不贅述了,這里只說兩個最基本的操作:

  • i 切換到編輯模式,這時候才可以進行輸入、刪除、修改等操作
  • Ctrl c 退回到命令模式,然后輸入 :wq Enter 保存文件修改并退回到服務器命令行

Django搭建深度日記:將項目部署到服務器-深度日記官方網站(django搭建個人博客)

此配置會監聽 80 端口(通常 http 請求的端口),監聽的 IP 地址寫你自己的服務器公網 IP

配置中有3個規則:

  • 如果請求 static 路徑則由 Nginx 轉發到目錄中尋找靜態資源
  • 如果請求 media 路徑則由 Nginx 轉發到目錄中尋找媒體資源
  • 其他請求則交給 Django 處理

如果你已經申請好域名了,就把配置中有 IP 的地方都修改為域名,比如:server_name www.deep-diary.com;

寫好后就退出 vi 編輯器,回到命令行。因為我們寫的只是 Nginx 的可用配置,所以還需要把這個配置文件鏈接到在用配置上去:

(env) root@deep-diary: sudo ln -s /etc/nginx/sites-available/deep-diary.com /etc/nginx/sites-enabled

ln [參數][源文件或目錄][目標文件或目錄]

-s : 表示軟鏈接符號,關于這個命令的更多參數,可以參考如下博文

linux每日命令(3):ln命令 – 聽風。 – 博客園

至此 Nginx 就配置好了,接下來搞定 Gunicorn

Gunicorn

(env) root@deep-diary:/home/deep_diary# pip3 install gunicornLooking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/Collecting gunicorn Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/e4/dd/5b190393e6066286773a67dfcc2f9492058e9b57c4867a95f1ba5caf0a83/gunicorn-20.1.0-py3-none-any.whl (79 kB) |████████████████████████████████| 79 kB 20.2 MB/s Requirement already satisfied: setuptools>=3.0 in /usr/lib/python3/dist-packages (from gunicorn) (45.2.0)Installing collected packages: gunicornSuccessfully installed gunicorn-20.1.0(env) root@deep-diary:/home/deep_diary# sudo service nginx reload(env) root@deep-diary:/home/deep_diary# gunicorn --bind unix:/tmp/121.43.166.145.socket deep_diary.wsgi:application[2022-01-22 07:31:00 0800] [57670] [INFO] Starting gunicorn 20.1.0[2022-01-22 07:31:00 0800] [57670] [INFO] Listening at: unix:/tmp/121.43.166.145.socket (57670)[2022-01-22 07:31:00 0800] [57670] [INFO] Using worker: sync[2022-01-22 07:31:00 0800] [57673] [INFO] Booting worker with pid: 57673

這里的三個步驟分別是:

  • 安裝 Gunicorn
  • 重啟 Nginx 服務
  • 啟動 Gunicorn

接下來,刷新瀏覽器試試,是不是很驚喜,自己開發的網站終于上線了

Django搭建深度日記:將項目部署到服務器-深度日記官方網站(django搭建個人博客)

開發的網站終于上線了

終于,大功告成了,可以洗臉睡覺了!!!

接下來的工作

后期運維

通過WinSCP 上傳更新后的代碼到服務器python3 manage.py collectstatic 重新收集靜態文件python3 manage.py migrate 如果數據庫設計有變化,需要進行數據遷移# 重啟 gunicornpkill gunicorngunicorn --bind unix:/tmp/121.43.166.145.socket deep_diary.wsgi:applicationsudo service nginx reload 如果nginx 有所更改,需要執行此命令進行重新加載

這里執行一次代碼更新,需要的命令很多,加上cd更改目錄的指令,部署過程有十幾條,后續可以考慮編寫一個批處理腳步進行快速執行(待更新)。

域名及優化

相對部署來說,域名配置就很容易了。阿里云提供域名的購買、備案(頂級域名必須,約10個工作日)、解析服務,簡直全家桶有沒有。重點提醒有了域名之后要改的地方:

  • settings.py 中的 ALLOWED_HOSTS
  • Nginx 中與 IP/域名 有關的位置
  • Gunicorn 中與 IP/域名 有關的位置

域名搞定之后,接著就可以著手考慮把網站升級為 https 版本了,這是大趨勢,一定要做。

另外,開發時為了效率把所有靜態資源都下載到本地,但是部署時不推薦這樣做,原因是靜態文件通常體積都較大,你花血汗錢買的服務器載入會很慢。盡量遠程 CDN 調用(這個會在后續文章發布)BootCDN – Bootstrap 中文網開源項目免費 CDN 加速服務

下一節,咱們來嘮嘮深度日記網站的基本功能

鳴謝:本文參考了杜塞大神的博客教程,再次表示感謝

Django搭建個人博客:將項目部署到服務器 – 杜賽的博客

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2022年6月14日 上午9:11
下一篇 2022年6月14日 上午9:23

相關推薦