[python]使用django快速生成自己的博客小站,含詳細部署方法


前言

人生苦短,我用python

這是之前經常聽到的一句笑談。因為新公司很多業務是用的python語言,所以這幾天也一直在學習python的一些東西。

作為一個之前一直java后端的開發人員,對比java最大的感受如下:

  • 語法簡潔優美
  • 開發效率高
  • 支持類庫強大

這僅僅是我一家之言。從我接觸python到現在也就一個星期時間,我用了兩天時間自己搭建了一個建議博客小站,哈哈,想想還是挺有成就感的。

資源

因為前天購買了一個域名,所以昨天也是加班加點把一個簡易的博客小站部署到了線上去。

我自己的博客小站域名為:www.floweroman.com
因為我自己的網名:'一枝花算不算浪漫', 而floweroman=flower romantic。 哈哈,這都是自己yy的,但是程序員還是應該保持點騷氣。

這里也特別感謝追夢人物的系列博客,給我的幫助很多。

本人博客源碼git:https://github.com/barrywangmeng/blogProject.git
后期我會一步步完善博客的內容,使得它真正可看可用。

教程

  • 代碼
    上面資源中已經發出了教程以及我自己的源碼,感興趣的朋友可以自行查看,這里不做重點贅述。

  • 域名購買
    當我們項目寫完的時候我們當然是要挑選一個自己滿意的域名。
    這里不建議從國內一些網站上購買域名(我一個同事在國內一家網站上購買的域名,最近被GA打電話要求去備案),所以我們直接從外國網站上買,避免一些不必要的麻煩。

這里推薦網址:https://www.namesilo.com/
如下圖:1.png
這個網站是可以支持支付寶的,基本很多域名都是$8.9 一年。當然還有其他國外的域名網站可以購買,大家可以自行搜索。

  • 服務器購買
    本打算購買國外服務器的,以后還可以搭梯子之類的。
    但是前一段時間阿里和騰訊雲都有做活動,10元每月的價格實在心動,所以這次就在騰訊雲注冊了服務器。(特別說明:騰訊雲注冊服務器后可送一個星期的體驗時間)

購買的服務器推薦系統為:Ubuntu 64位

騰訊雲地址:https://cloud.tencent.com

  • 購買的主機狀況以及運行狀態:
    2.png

  • 續費情況:(這是之前活動每個人可以續費三次)
    3.png

我們可以點擊后面的登陸或者用第三方的xshell等登陸自己的服務器:
4.png

服務器和域名均購買完成后,我們將域名映射到我們自己的ip上:
3.png

  • 代碼部署
    這里才是今天要講的重點:

一、 github倉庫
把整個django項目上傳到github,方便把代碼拉到服務器(你也可以使用xftp軟件)

二、創建新用戶
一般不建議在root用戶下進行配置,我們可以創建一個新用戶,xshell連接遠程服務器,輸入命令:

  1. sudo useradd -m -s /bin/bash wangmeng #創建新用戶 wangmeng替換為你自己的用戶名,下面一樣
  2. sudo usermod -a -G sudo wangmeng #把新用戶加入超級權限組
  3. sudo passwd wangmeng #為新用戶設置密碼
  4. su - wangmeng #切換到新用戶

我們看到@前面已經是wangmeng開頭了,說明新用戶已經創建好了:
2.png

三、安裝軟件
首先,更新一下服務器的包安裝工具

  1. sudo apt-get update
  2. sudo apt-get upgrade

下一步安裝主要用的的軟件,nginx、git和創建虛擬環境的virtualenv:

  1. sudo apt-get install nginx
  2. sudo apt-get install git python3 python3-pip
  3. sudo pip3 install virtualenv

nginx安裝完就會自動啟動,這時你到瀏覽器輸入域名或者ip就能看到nginx的歡迎界面:
4.png

四、上傳代碼到服務器

  1. mkdir -p ~/sites/www.floweroman.com

打開目錄

  1. cd ~/sites/www.floweroman.com

我們的代碼要在虛擬環境里運行,所以先創建虛擬環境

  1. virtualenv --python=python3 env #env是虛擬環境名字,沒必要和這里的一樣

運行完以后執行 ls 命令,發現多了一個env文件夾,這就是我們要的虛擬環境目錄:
5.png

五、拉取git代碼
下一步要把代碼從github拉到服務器,git工具我們之前已經安裝好了,執行命令:

  1. git clone https://github.com/barrywangmeng/blogProject.git

六、安裝依賴
現在代碼已經成功放到服務器里了
安裝其他依賴
首先進入虛擬環境,在虛擬環境下打開django項目目錄,由requirements.txt安裝依賴。

  1. source env/bin/activate #進入虛擬環境
  2. cd blogProject #進入項目目錄
  3. pip install -r requirements.txt #安裝依賴

七、后續操作

  1. python manage.py collectstatic

生成數據庫文件

  1. python manage.py migrate

創建超級用戶(后台管理使用)

  1. python manage.py createsuperuser

配置nginx

  1. deactivate #退出虛擬環境
  2. cd /etc/nginx/sites-enabled
  3. sudo rm -f default #刪除默認配置文件
  4. cd /etc/nginx/sites-available
  5. sudo rm -f default #刪除默認配置文件

設置配置文件

  1. sudo vim myblog.conf

輸入如下代碼:

server {
	charset utf-8;
	listen 80;
	server_name www.floweroman.com;
	
	location /static {
		alias /home/wangmeng/sites/www.floweroman.com/blogProject/static;
	}
	
	location /media {
		alias /home/wangmeng/sites/www.floweroman.com/blogProject/media;
	}
	
	location / {
		proxy_set_header Host $host;
		proxy_pass http://unix:/tmp/www.floweroman.com.socket;
	}
}

  

按ESC退出編輯,繼續輸入:wq,保存並退出文件

八、激活網站

  1. sudo ln -s /etc/nginx/sites-available/myblog.conf /etc/nginx/sites-enabled/myblog.conf

測試配置語法問題:

  1. sudo service nginx configtest

重啟nginx服務器:

  1. sudo service nginx restart

使用gunicorn
進入虛擬環境下的blogProject(存放代碼的目錄)網站目錄

  1. cd /home/wangmeng/sites/www.floweroman.com/
  2. source env/bin/activate
  3. cd blogProject

6.png

安裝gunicorn:

  1. pip install gunicorn

用gunicorn啟動服務器進程:

  1. gunicorn --bind unix:/tmp/www.floweroman.com.socket blogProject.wsgi:application #啟動gunicorn

自動啟動gunicorn:

  1. gunicorn --bind unix:/tmp/www.floweroman.com.socket blogProject.wsgi:application&

好了,到了這里已經大功告成了!訪問www.floweroman.com即可出現我們的博客首頁了。

大家如果有什么問題都可以問我。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM