程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python Web開發01

編輯:Python

Get新知識:

nginx + gunicorn + flask 部署web項目

nginx 的安裝和配置

一、安裝編譯工具及庫文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
二、安裝 PCRE(讓 Nginx 支持 Rewrite 功能)
#下載最新版本的,注意不要用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
三、安裝nginx
#下載
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配置
#創建 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/;
}
}

gunicorn 的安裝配置

注意下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'

centos 使用 yum 在線安裝python3

步驟:

  1. 安裝epel
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  1. 安裝 epel-release 工具
yum install epel-release
  1. 找到庫裡面支持的 python3 版本
yum list | grep python3 | more
  1. 安裝python3
yum install python36
  1. 測試安裝是否成功
python3

Linux下安裝Python虛擬環境Virtualenv

需要先安裝好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,就是安裝好項目所需的第三方包,就可以將項目部署到服務器上了。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved