yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
#下載最新版本的,注意不要用pcre2
wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
tar -xvf pcre-8.42.tar.gz
cd pcre-8.42
#安裝編譯
./configure
make && make install
#查看pcre版本
pcre-config --version
#下載
wget https://nginx.org/download/nginx-1.15.9.tar.gz
tar -xvf nginx-1.15.9.tar.gz
cd nginx-1.15.9
#編譯安裝
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.42
make && make install
#查看版本
/usr/local/webserver/nginx/sbin/nginx -v
#創建 Nginx 運行使用的用戶 www
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
# 也可以不新建用戶,而是使用root用戶即可
#設置包含多個配置文件,在nginx.conf底部添加
include vhost/*.conf;
#啟動
/usr/local/webserver/nginx/sbin/nginx
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新載入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen # 重啟 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
# /usr/local/webserver/nginx/conf/vhost/demo.tilesrow.com.conf
server
{
# nginx 默認監聽80 端口號,可以自定義
listen 80;
#listen [::]:80;
# server_name 就是本機地址
server_name xx.com;
# 默認訪問的靜態文件資源
index index.html index.htm index.php default.html default.htm default.php;
root /data/project/demo1;
access_log /usr/local/webserver/nginx/logs/xx.com.log;
}
內網映射端口配置
server
{
listen 80;
#listen [::]:80;
server_name demo.xx.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8001;
}
access_log /usr/local/webserver/nginx/logs/demo.xx.com.log;
}
結果配置如下:
server{
listen 8000;
server_name 192.168.123.201;
location {
include uwsgi_params;
# uwsgi_pass 127.0.0.1:9000;
proxy_pass http://127.0.0.1:9000/;
}
}
注意下python 項目的虛擬環境下。
使用pip install gunicorn 安裝 gunicorn
安裝好之後就可通過命令來啟停服務。
使用下面命令進行項目的啟動
gunicorn -w 5 -b 127.0.0.1:9000 wsgi:application
其中 127.0.0.1:9000 是flask應用程序的啟動端口和IP,wsgi 是項目根目錄下的一個啟動項目文件名為wsgi.py application 是 flask實例對象名。
或者使用自定義的gunicorn.py 配置文件
gunicorn -c app/gunicorn_config.py wsgi:application
其中.py 是自定義的配置文件
如下:
import multiprocessing
bind = '0.0.0.0:9000' #綁定ip和端口號
backlog = 512 #監聽隊列
chdir = '/usr/local/webserver/nginx/software_project' #gunicorn要切換到的目的>工作目錄
timeout = 40 #超時
worker_class = 'gevent' #使用gevent模式,還可以使用sync 模式,默認的是sync模式
workers = multiprocessing.cpu_count() * 2 #進程數
threads = 2 #指定每個進程開啟的線程數
# 設置最大並發量
worker_connections = 2000
# 設置進程文件目錄
pidfile = '/var/run/gunicorn.pid'
步驟:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install epel-release
yum list | grep python3 | more
yum install python36
python3
需要先安裝好python3 的環境。
1、首先,使用pip命令安裝virtualenv模塊:
# pip3 install virtualenv
測試是否安裝成功
# virtualenv --version
安裝成功,則會打印安裝的virtualenv的版本號
3、創建獨立運行環境,並命名
# virtualenv --no-site-packages venv
venv是虛擬環境的名稱,可以根據自己的需要進行命名。
其中 直接使用命令 virtualenv 就可以創建一個獨立的Python運行環境,加上參數**–no-site-packages**,可以將已經安裝到系統Python環境中的第三方包都不制到獨立環境中,這樣我們就可以得到一個不帶任何第三方包的Python環境了。
4、新建的Python環境被放到了當前目錄下的venv目錄,有了venv這個Python環境,我們就可以開始使用這個虛擬環境了,需將其激活:
# source venv/bin/activate
需要注意的是source 虛擬環境下的bin目錄下的activate ,激活成功後,我們可以看到終端命令提示符前多了虛擬環境的名稱
5、如果暫時不用此虛擬環境了,退出venv環境
(venv) # deactivate
6、其他命令
① 查看當前虛擬機環境目錄
# worken
②切換虛擬環境
# workon venv2
③退出虛擬環境
# deactivate
④刪除虛擬環境
# rmvirtualenv venv
安裝並配置好 python 虛擬環境 virtualenv 好 之後i,就是安裝好項目所需的第三方包,就可以將項目部署到服務器上了。