本環境是使用Ubuntu16.04+Django2.1.0+python3.6+uwsgi+nginx進行配置
1. 安裝python3.6
Ubuntu16.04中原本安裝的是python3.5,但是我們運行環境使用python3.6比較好,有的庫3.5是用不了的,安裝過程如下:
首先安裝python3.6,在terminal中輸入
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:jonathonf/python-3.6 #如果這個訪問不了的話就換成這個 sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.6
現在在命令行中輸入python3得到的python版本仍然是python3.5,所以我們需要一處原來的快捷方式
cd /usr/bin
rm python3
然后再創建快捷方式
ln -s python3.6 python3
輸入python3可以得到我們想要的結果

然后在terminal中輸入如下命令安裝pip3即可
apt-get install python3-pip
pip3 install django==2.1.0
2. 安裝git
因為我們需要完成網站代碼版本管理,也是為了能夠比較方便地更新服務器代碼,所以我們在服務器上安裝git
首先在terminal中直接輸入
sudo apt-get install git
安裝好之后需要設置郵箱和用戶名
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
如果你的項目是私有項目的話還需要生成SSH公鑰,具體請點擊這里查看教程。
3. 安裝MySQL
我們后端的數據庫使用的是mysql,在ubuntu上安裝比較簡單,只需要幾條命令即可。
sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
現在在terminal中輸入mysql
可以直接進入mysql,接下來我們要設置密碼,首先進入進入mysql,然后輸入如下代碼
use mysql;
update user set authentication_string=PASSWORD("這里輸入你要改的密碼") where User='root'; #更改密碼
update user set plugin="mysql_native_password"; #如果沒這一行可能也會報一個錯誤,因此需要運行這一行
flush privileges; #更新所有操作權限
exit
現在在terminal中輸入
mysql -u root -p
然后輸入你剛剛設置的密碼即可登錄進數據庫,加下來我們要配置允許數據庫進行遠程連接,方便我們進行調試
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf //注釋掉bind-address = 127.0.0.1
service mysql restart
現在你就可以遠程連接數據庫了。(記得打開服務器3306安全組)
4. 安裝uwsgi
直接pip3安裝就可以
sudo apt-get install python3.6-dev # 因為我們之前安裝的是python3.6,所以這里安裝python3.6-dev
pip3 install uwsgi
接下來測試uwsgi是否能使用,實現使用git將你的項目clone到home文件夾中,然后在terminal中執行如下命令
uwsgi --chdir 你的項目路徑 --http :8001 --module 你的項目名稱.wsgi:application
這時候打開 你的IP:8001,如果打不開,請開放8001安全組,接下來再打開網頁的話應該是可以正常訪問的
5.安裝node
如果項目前端使用的是vue,還要安裝nodejs
sudo apt-get install nodejs
sudo apt-get install python3.6-gdbm # 與你裝的python版本相同
sudo apt install nodejs-legacy
sudo apt-get install npm
npm config set registry http://registry.npm.taobao.org/
npm install -g @vue/cli
6. 安裝nginx
sudo apt-get install -y python3.6-dev
apt install nginx
等待一會就可以安裝完畢,安裝完成之后執行如下命令
cd /etc/nginx/sites-enabled/
sudo rm default
cd ..
cd sites-available/
vim mysite.conf
在打開的文件中輸入如下內容
server {
listen 443;
server_name mysite;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /home/你的項目名稱/static;
}
location /media {
alias /home/你的項目名稱/media;
}
location / {
uwsgi_pass 127.0.0.1:8001;
include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
}
}
然后再繼續輸入命令:
cd /home
mkdir mysite_uwsgi
cd mysite_uwsgi
vim mysite.ini
在打開的文件中輸入如下內容
[uwsgi]
chdir = /home/你的項目名稱
module = 你的項目名稱.wsgi:application
master=True
processes = 4
harakiri = 60
max-requests = 5000
socket = 127.0.0.1:8001
uid = 1000
gid = 2000
pidfile = /home/mysite_uwsgi/master.pid
deamonize=/home/mysite_uwsgi/mysite.log
vacuum=True
這個時候啟動uwsgi,輸入
uwsgi --ini /home/mysite_uwsgi/mysite.ini
運行成功之后再輸入
ps -aux | grep uwsgi
若進程顯示如圖所示,則表示配置成功
再執行如下命令
ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/mysite.conf
service nginx restart
這個時候訪問你的ip應該就能正常訪問了