部署:
uwsgi配置:
[uwsgi]
# Django-related settings
http = 127.0.0.1:8000
#socket = 127.0.0.1:8000
chdir = /Users/xiaoyuan/Desktop/1807projects/MyBlog
module = MyBlog.wsgi
master = true
processes = 4
threads = 2
daemonize = uwsgi.log
pidfile = uwsgi.pid
virtualenv = /Users/xiaoyuan/.virtualenvs/1807_blog
收集靜態(tài)資源:
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
python3 manage.py collectstatic
nginx配置 sudo apt install nginx /etc/nginx
寫到http括號下
server {
listen 80;
server_name localhost;
#動態(tài)請求
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
#靜態(tài)
location /static {
alias /Users/xiaoyuan/Desktop/py_projects/MyBlog/static ;
}
}
啟動nginx
/etc/init.d/nginx start 啟動
/etc/init.d/nginx stop 或killall -9 nginx 關(guān)閉
/etc/init.d/nginx restart 重啟
服務(wù)器部署:
第一步:sudo apt update 和 sudo apt upgrade
第二步:安裝pip sudo apt install python3-pip
第三步:安裝虛擬環(huán)境 sudo pip3 install virtualenv
可能會出錯:分析原因
locale是用來設(shè)置軟件運行的語言環(huán)境,所以語言環(huán)境設(shè)置有問題
解決故障 復(fù)制這三條 命令 一條一條輸入 在登入云服務(wù)器
重新設(shè)置語言環(huán)境,最簡單的解決辦法:
第一條
echo "export LC_ALL=en_US.UTF-8" >> /home/XXX/.bash_profile 代表(特定用戶)
第二條
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile 代表(所有用戶)
第三條
exit
第四步:sudo pip3 install virtualenvwrapper
第五步:配置虛擬環(huán)境
vi .bashrc
復(fù)制這三條命令到文檔
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
激活
source .bashrc
第六步:創(chuàng)建虛擬環(huán)境
第七步:安裝數(shù)據(jù)庫 sudo apt-get install mysql-server mysql-client
第八步(本地):導(dǎo)出本地數(shù)據(jù)庫 mysqldump -uroot -p 1807_blog_db > /Users/xiaoyuan/Desktop/blog.sql
第九步(本地):導(dǎo)出本地依賴第三方 pip freeze > requirements.txt
第十步:想任何辦法把數(shù)據(jù)庫和依賴文件還有源碼 上傳到服務(wù)器 git ftp scp
第十一步:在云端創(chuàng)建一個和本地數(shù)據(jù)庫一樣的庫,并導(dǎo)入數(shù)據(jù) source /xxx/xx/xx/blog.sql
第十二步:安裝nginx sudo apt-get install nginx
安裝uwsgi pip install uwsgi
第十三步:配置uwsgi和nginx 和本地部署一樣
第十四步:啟動uwsgi
uwsgi --ini uwsgi.ini 啟動
uwsgi --stop uwsgi.pip 關(guān)閉
第十五步:啟動nginx
/etc/init.d/nginx start 啟動
/etc/init.d/nginx stop 或killall -9 nginx 關(guān)閉
/etc/init.d/nginx restart 重啟
第十六步:大工完成
發(fā)送驗證碼:
郵件配置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 25
# 發(fā)送郵件的郵箱
EMAIL_HOST_USER = 'jikedaohang@163.com'
# 在郵箱中設(shè)置的客戶端授權(quán)密碼
EMAIL_HOST_PASSWORD = '123456abc'
# 收件人看到的發(fā)件人
EMAIL_FROM = 'python<jikedaohang@163.com>'