服務(wù)器
阿里云服務(wù)器
Mac連接ssh:FinalShell(國(guó)內(nèi)強(qiáng)大的遠(yuǎn)程桌面)
http://www.hostbuf.com/t/988.html
欲要善其事必先利其器, 首先安裝Python包管理工具【pip】
下載文件:
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
執(zhí)行安裝:
python get-pip.py
查看版本:
pip --version
有版本號(hào)即安裝成功:
pip 19.1.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)
Uwsgi安裝失敗
原因:
因?yàn)槿鄙僖粋€(gè)python-devel包
什么是python-devel遇八?
linux發(fā)行版通常會(huì)把類庫(kù)的頭文件和相關(guān)的pkg-config分拆成一個(gè)單獨(dú)的xxx-dev(el)包.以下情況需要python-dev包:
安裝一個(gè)源外的python類庫(kù), 而這個(gè)類庫(kù)內(nèi)含需要編譯的調(diào)用python api的c/c++文件咒锻;
自己寫的一個(gè)程序編譯需要鏈接libpythonXX.(a|so)
(不含使用ctypes/ffi或者裸dlsym方式直接調(diào)用libpython.so)
其他正常使用python或者通過安裝源內(nèi)的python類庫(kù)的不需要python-dev.
解決辦法:安裝python-devel即可
安裝Web服務(wù)器網(wǎng)關(guān)接口【Uwsgi】
首先先安裝python-devel包:
yum install python-devel.x86_64
執(zhí)行安裝:
pip install uwsgi
打印版本號(hào):
uwsgi --version
2.0.18
安裝Web應(yīng)用框架【Django】
查看當(dāng)前Python所支持的Django版本:
https://www.djangoproject.com/download/
目前使用的是 python2.7.5 對(duì)應(yīng) 1.11.20
執(zhí)行安裝:
pip install Django==1.11.20
安裝Nginx之前需要安裝【PCRE】
PCRE 作用是讓 Nginx 支持 Rewrite 功能
PCRE依賴于C++編譯器
執(zhí)行安裝:
yum -y install gcc-c++
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
yum -y install openssl openssl-devel
安裝高性能的HTTP和反向代理web服務(wù)器【Nginx】
查看版本:
http://nginx.org/download/
進(jìn)行下載:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.9.9.tar.gz
進(jìn)行解壓:
tar xf nginx-1.9.9.tar.gz
進(jìn)入文件:
cd nginx-1.9.9
進(jìn)行安裝:
./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_gzip_static_module
make && make install
查看端口號(hào)【我的安裝路徑是/usr/local/下】:
/usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.9.9
安裝公眾號(hào)所需的組件
執(zhí)行安裝:
pip install wechatpy
pip install pycryptodome
pip install lxml
方便管理玄坦,結(jié)構(gòu)目錄
/home 目錄結(jié)構(gòu)
├── app App目錄
│ ├── conf 配置文件
│ │ └── movie_nginx.conf Nginx配置文件
│ ├── project 項(xiàng)目文件
│ │ └── searchMovie 項(xiàng)目
│ ├── html 網(wǎng)頁文件
│ ├── logs 日志文件
步驟一蛀蜜、配置Nginx的conf內(nèi)容
/home/app/conf目錄下創(chuàng)建movie_nginx.conf文件糠睡,內(nèi)容是:
server {
listen 80; # 監(jiān)聽80端口
server_name xxx.com; # 網(wǎng)站域名扩灯,多個(gè)域名用空格隔開
root /home/app/html; # 網(wǎng)頁根目錄
location /wx/ { # 監(jiān)聽的接口名
proxy_pass http://127.0.0.1:8000; #轉(zhuǎn)發(fā)地址,因?yàn)轫?xiàng)目使用8000端口
}
# nginx 日志存放位置
access_log /home/app/logs/anqila/access.log;
error_log /home/app/logs/anqila/error.log;
}
在/usr/local/nginx/conf/nginx.conf配置文件內(nèi)容的http下添加:
# 導(dǎo)入文件其實(shí)就是將文件的內(nèi)容導(dǎo)入闹究,方便Nginx目錄下的conf配置文件管理
include /home/app/conf/movie_nginx.conf;
11.png
Nginx常用指令
新手:Nginx安裝在/usr/local/下幔崖,具體根據(jù)你的安裝目錄在做指令
/usr/local/nginx/sbin/nginx -t # 驗(yàn)證nginx配置文件是否正確
/usr/local/nginx/sbin/nginx -s reload # 重新載入配置文件
/usr/local/nginx/sbin/nginx -s reopen # 重啟 Nginx
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #報(bào)錯(cuò):Nginx: [error] invalid PID number 可用
netstat -tunlp |grep 8000 # 查看端口號(hào)
ps -ef|grep nginx # 查看所有執(zhí)行nginx的端口號(hào)
步驟二、配置Uwsgi的uwsgi.ini內(nèi)容
在項(xiàng)目下創(chuàng)建script文件夾渣淤,在創(chuàng)建uwsgi.ini配置文件
/searchMovie 項(xiàng)目目錄結(jié)構(gòu)
├── script
│ └── uwsgi.ini
├── searchMovie
│ └── wsgi.py
├── templates
├── wechat
├── db.sqlite3
├── manage.py
【uwsgi.ini】?jī)?nèi)容:
# uwsig使用配置文件啟動(dòng)
[uwsgi]
# 項(xiàng)目目錄
chdir=/home/app/project/searchMovie/
# wsgi文件目錄
wsgi-file = searchMovie/wsgi.py
# 指定sock的文件路徑
socket=/home/app/project/searchMovie/script/uwsgi.sock
# 進(jìn)程個(gè)數(shù)
workers=5
pidfile=/home/app/project/searchMovie/script/uwsgi.pid
# 指定IP端口
http=127.0.0.1:8000
# 指定靜態(tài)文件
static-map=/static=/home/app/project/searchMovie/script/static
# 啟動(dòng)uwsgi的用戶名和用戶組
uid=root
gid=root
# 啟用主進(jìn)程
master=true
# 自動(dòng)移除unix Socket和pid文件當(dāng)服務(wù)停止的時(shí)候
vacuum=true
# 序列化接受的內(nèi)容赏寇,如果可能的話
thunder-lock=true
# 啟用線程
enable-threads=true
# 設(shè)置自中斷時(shí)間
harakiri=30
# 設(shè)置緩沖
post-buffering=4096
# 設(shè)置日志目錄
daemonize=/home/app/project/searchMovie/script/uwsgi.log
Uwsgi常用指令
uwsgi --ini uwsgi.ini #啟動(dòng)項(xiàng)目
uwsgi --stop uwsgi.pid #停止Uwsgi
ps -ef|grep uwsgi #查看所有執(zhí)行uwsgi的端口號(hào)
步驟三、Nginx映射价认、Redis啟動(dòng)嗅定、Uwsgi啟動(dòng)項(xiàng)目
/usr/local/nginx/sbin/nginx -s reload # 重新載入配置文件
/home/app/project/searchMovie/script/uwsgi --ini uwsgi.ini #啟動(dòng)項(xiàng)目
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf #啟動(dòng)Redis
設(shè)置bashrc快捷鍵
# 進(jìn)入項(xiàng)目Uwsgi
alias cd-uwsgi='cd /home/app/project/searchMovie/script'
# 啟動(dòng)Uwsgi
alias uwsgi-ini='uwsgi --ini uwsgi.ini'
# 停止Uwsgi
alias uwsgi-stop='uwsgi --stop uwsgi.pid'
# 重啟Uwsgi
alias uwsgi-reload='uwsgi --reload uwsgi.pid'
# 重啟Nginx
alias nginx-reload='/usr/local/nginx/sbin/nginx -s reload'
# 停止Nginx
alias nginx-stop='/usr/local/nginx/sbin/nginx -s stop'
# 無Nginx pid
alias nginx-c='/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf'