前一段時間在阿裡雲買了一個雲伺服器,嘗試着部署了一下django項目。過程還算順利,下面介紹介紹具體操作。
安裝軟體
我們第一步需要安裝需要用到的軟體,centos使用yum安裝軟體,在部署時需要用到的軟體有MySQL、nginx、Python3.6。
MySQL安裝
#下載下傳mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#安裝mysql-community-release-e17-5.noarch.rpm
rpm -ivh mysql-community-release-e17-5.noarch.rpm
#安裝mysql
yum install mysql-server
Python3.6安裝
我們使用pyenv來管理我們的Python版本。是以,需要先安裝pyenv。
安裝pyenv之前要先安裝好依賴的庫檔案。
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
接下來安裝pyenv。
mkdir ~/.pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL -l
下面我們就可以使用pyenv來安裝python了。
pyenv install 3.6.4
我們也可以使用pyenv來将3.6.4設定為預設版本。
pyenv global 3.6.4
nginx安裝
#安裝nginx需要的庫
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#安裝nginx
yum install nginx
項目配置
配置uwsgi
将項目上傳到雲伺服器上,上傳可以使用WinSCP這個軟體。
使用pip安裝uwsgi庫。
pip install uwsgi
在項目根目錄下建立一個blog.ini檔案。因為我的項目是一個部落格,是以就建立了這樣的一個檔案名,你也可以修改檔案名。接下來是重點,在檔案中輸入以下代碼
[uwsgi]
#使用者名,不要用root,你可以建立一個使用者,在此處寫上使用者名。
uid = jin
http = 127.0.0.1:8001
chmod-socket = 666
#項目根目錄
chdir = /home/blog/blog/
#wsgi.py檔案相對根目錄所在位置
wsgi-file = blog/wsgi.py
touch-reload = /blog/blog
py-auto-reload = 1
processes = 4
threads = 2
配置nginx
進入nginx所在目錄: 'cd /etc/nginx/conf.d',此時目錄中會有一個default.conf檔案,删除該檔案,建立新檔案并編輯:'vim blog_nginx.conf'
server {
listen 80 default_server;
#此處寫你的域名
server_name www.blog.com blog.com;
charset utf-8;
client_max_body_size 75M;
root /home/blog;
#靜态資源
location /static {
alias /home/blog/blog_static;
}
location /media {
alias /home/blog/blog/media;
}
location / {
include /etc/nginx/uwsgi_params;
proxy_pass http://127.0.0.1:8001;
}
}
啟動
啟動mysql
systemctl start mysqld
啟動nginx伺服器
systemctl start nginx
啟動uwsgi
進入剛才建立blog.ini的目錄,終端輸入'uwsgi blog.ini'。
此時在網站中輸入你的域名,就能夠看到你的項目了。