- 購(gòu)買服務(wù)器
可以到阿里云,騰訊云,服務(wù)器商購(gòu)買服務(wù)器和域名;
其中各服務(wù)商有試用時(shí)間段,如果用于測(cè)試則可以使用免費(fèi)的服務(wù)器。
選擇地區(qū);
選擇系統(tǒng),一般為ubuntu16.04 x 64;
自己玩的話,最低配夠了,視具體情況而定;
買完之后會(huì)讓你設(shè)置主機(jī)登錄密碼和遠(yuǎn)程密碼;
搭建服務(wù)器虛擬環(huán)境
1)在本機(jī)進(jìn)入虛擬環(huán)境,執(zhí)行命令導(dǎo)出當(dāng)前需要的所有包。
pip freeze > plist.txt
2)通過ftp軟件將項(xiàng)目代碼和plist.txt文件上傳到服務(wù)器。
3)創(chuàng)建虛擬環(huán)境,在虛擬環(huán)境上安裝包。
mkvirtualenv 虛擬環(huán)境名稱
pip install -r plist.txt
WSGI:
全稱是Web Server Gateway Interface(web服務(wù)器網(wǎng)關(guān)接口)
它是一種規(guī)范,它是web服務(wù)器和web應(yīng)用程序之間的接口
它的作用就像是橋梁,連接在web服務(wù)器和web應(yīng)用框架之間
沒有官方的實(shí)現(xiàn),更像一個(gè)協(xié)議。只要遵照這些協(xié)議,WSGI應(yīng)用(Application)都可以
在任何服務(wù)器(Server)上運(yùn)行
uwsgi:是一種傳輸協(xié)議,用于定義傳輸信息的類型。常用于在uWSGI服務(wù)器與其他網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)通信
uWSGI:是實(shí)現(xiàn)了uwsgi協(xié)議WSGI的web服務(wù)器。
- 先更新apt軟件源
sudo apt-get update
- uwsgi安裝
uwsgi是一個(gè)能夠運(yùn)行flask項(xiàng)目的高性能web服務(wù)器,需要先安裝兩個(gè)依賴
apt-get install build-essential python-dev
- 然后進(jìn)行uwsgi的安裝
pip install uwsgi
- nginx安裝
apt-get install nginx
- mysql的安裝:
apt-get install mysql-server
apt-get install libmysqlclient-dev
- 虛擬環(huán)境的安裝
virtualenv和virtualenvwrapper的安裝:
pip install virtualenv
pip install virtualenvwrapper
使得安裝的virtualenvwrapper生效,編輯~/.bashrc文件,內(nèi)容如下:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh
- 使編輯后的文件生效
source ~/.bashrc
利用pycharm創(chuàng)建python項(xiàng)目
創(chuàng)建config.ini文件作為uwsgi的初始化配置文件
- uwsgi配置:
[uwsgi]
# Django-related settings
#直接做web服務(wù)器使用
http = 127.0.0.1:8000
#使用nginx連接時(shí)使用
#socket = 127.0.0.1:8000
#項(xiàng)目路徑
chdir = /home/guowei/PycharmProjects/Myblog
#wsgi文件
module = Myblog.wsgi
#主進(jìn)程
master = true
#指定工作進(jìn)程
processes = 4
#每個(gè)工作進(jìn)程有2個(gè)線程
threads = 2
#后臺(tái)啟動(dòng) 日志輸出的地方
daemonize = uwsgi.log
#保存主進(jìn)程的進(jìn)程號(hào)
pidfile = uwsgi.pid
#虛擬環(huán)境路徑
virtualenv = /home/guowei/.virtualenvs/1807_5
- 利用scp命令將整個(gè)項(xiàng)目上傳到遠(yuǎn)程服務(wù)器中
scp -r 本地目錄 用戶名@ip地址:遠(yuǎn)程目錄
- 運(yùn)行uwsgi.ini服務(wù)器
uwsgi --ini uwsgi.ini 啟動(dòng)
uwsgi --stop uwsgi.pid 關(guān)閉 或killall -9 uwsgi
配置nginx服務(wù)器
- 修改為如下內(nèi)容:
寫到http括號(hào)下
server {
listen 80;
server_name 94.191.66.235;
#動(dòng)態(tài)請(qǐng)求
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
#靜態(tài)
location /static {
alias
- 啟動(dòng)和停止nginx服務(wù)器
/etc/init.d/nginx start #啟動(dòng)
/etc/init.d/nginx stop #停止
/etc/init.d/nginx restart 重啟