在上一節,我們知道了nginx的 default配置文件,瞭解root路徑的意義,這次是基於python 的django框架詳解一下django 之nginx部署,總的路線參考自強學堂的教程Django 部署(Nginx)。
我們着重看一下第五節配置nginx,因爲前面四節都是django的內容,這裏我對原文代碼做了一點改動,主體思路不變。
新建項目
root@username:/# nano /etc/nginx/sites-available/project.conf //新建項目配置
寫入以下內容,文件配置以下都有註釋
server { //server描述
listen 80;
server_name www.example.com;
charset utf-8;
client_max_body_size 75M;
location /media { //媒體路徑
alias /path/to/project/media;
}
location /static { //靜態文件路徑
alias /path/to/project/static;
}
location / { //uwsgi配置
uwsgi_pass unix:///home/yourroot;
include /etc/nginx/uwsgi_params;
}
}
這段文字節選自linux公社,描述server_name 目錄設置
- server_name _; 使這是一個默認捕捉所有虛擬主機(當然,你可以同時喜歡這裏www.example.com指定主機名)。
- 根目錄 /var/www/html;意味着文檔根目錄/var/www/html.
不過上面那段代碼是將各種文件名稱都描述了,因爲django項目有要求對靜態文件,媒體文件分開,並且分開描述。
激活網站
root@username:# ln -s /etc/nginx/sites-available/project.conf /etc/nginx/sites-enabled/project.conf
測試配置語法問題
service nginx configtest 或 /path/to/nginx -t
重啓nginx
service nginx reload 或 sudo service nginx restart 或 /path/to/nginx -s reload
補充一下linux中非常重要命令,請大家一定要熟悉。它的功能是爲某一個文件或目錄在另外一個位置建立一個同步的鏈接,類似Windows下的超級鏈接。
這個命令最常用的參數是-s,具體用法是:
sudo ln -s 源文件 目標文件