日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Centos7下部署Python项目

發布時間:2023/12/25 综合教程 41 生活家
生活随笔 收集整理的這篇文章主要介紹了 Centos7下部署Python项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Centos7下部署Python項目

一、配置系統環境

yum -y install gcc gcc-c++ 編譯的時候
yum -y install wget
yum -y install zlib zlib-devel openssl openssl-devel ncurses-devel sqlite sqlite-devel bzip2-deve readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum -y install epel-release
yum -y install libffi-devel 編譯Python時候,如果缺少,會導致pip安裝不成功
yum install psmisc 幫助管理/proc目錄,fuser,killall,pstree等

二、源碼安裝Python3.7.4 && Django

cd /opt 進入opt目錄

使用wget命令下載壓縮包 wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

tar -zxvf Python-3.7.4.tgz

cd Python-3.7.4

./configure --prefix=/usr/local/python3

make && make install

cd ~ 創建軟鏈接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

給python3安裝django
pip3 install django
建立軟連接
ln -s /usr/local/python3/bin/django-admin /usr/bin/django-admin

上傳自己的項目 在項目內 python3 manage.py runserver

如果出錯:SQLite 3.8.3 or later is required (found 3.7.17)
參考:https://blog.csdn.net/qq_39969226/article/details/92218635

三、 安裝配置uwsgi

從網站https://uwsgi-docs.readthedocs.io/en/latest/Download.html下載最新版uwsgi,下載Stable/LTS版本的源文件,上傳到/opt下

tar -zxvf uwsgi壓縮包文件

cd uwsgi解壓過的目錄(安裝包)

python3 setup.py install

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi 建立軟連接

在manage.py的同級目錄下,新建一個uwsgi.xml文件,配置此文件

<uwsgi>    
   <socket>127.0.0.1:8000</socket> <!-- 內部端口,自定義 --> 
   <chdir>/data/wwwroot/demo/</chdir> <!-- 項目路徑 -->            
   <module>demo.wsgi</module>  <!-- mysite為wsgi.py所在目錄名--> 
   <processes>4</processes> <!-- 進程數 -->     
   <daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>

四、安裝配置nginx

安裝

# 1.進入home目錄
cd /home  
# 2.下載nginx
wget http://nginx.org/download/nginx-1.13.7.tar.gz
# 3.解壓
tar -zxvf nginx-1.13.7.tar.gz
# 4.進入解壓后的nginx-1.13.7文件夾
cd nginx-1.13.7
# 5.編譯安裝
./configure
make && make install

nginx一般默認安裝好的路徑為/usr/local/nginx
在/usr/local/nginx/conf/中先備份一下nginx.conf文件,以防意外。

cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak

然后打開nginx.conf,把原來的內容刪除,直接加入以下內容:

vim nginx.conf
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 80;
        server_name  xx.xx.xx.xx; #改為自己的域名,沒域名修改為127.0.0.1:80
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8000;  #端口要和uwsgi里配置的一樣
           uwsgi_param UWSGI_SCRIPT demo.wsgi;  #wsgi.py所在的目錄名+.wsgi
           uwsgi_param UWSGI_CHDIR /data/wwwroot/demo/; #項目路徑
           
        }
        location /static/ {
        alias /data/wwwroot/demo/static/; #靜態資源路徑
        }
    }
}

五、啟動服務

進入項目目錄下將settings.py中:

ALLOWED_HOSTS = ['*'] 
DEBUG = False

cd /data/renwu ls manage.py/uwsgi.ini

啟動uwsgi: uwsgi -x demo.xml

cd /usr/local/nginx/sbin/

啟動nginx:./nginx

六、配置靜態資源

打開django項目中settings.py文件(/unicom/settings.py),添加:

STATIC_ROOT = '/root/www/unicom/static/'

運行python3 manage.py collectstatic,此命令是搜集靜態文件的命令,搜集后的靜態文件存放在/root/www/unicom/static/中

重新啟動uwsgi和nginx。

1. killall -9 nginx  
2. killall -9 uwsgi
3. nginx
4. uwsgi uwsgi.ini


七、常用命令

關閉nginx&&uwsgi

killall -9 nginx  
killall -9 uwsgi

查看服務器正在運行的端口

netstat -ntpl

關閉8000端口(端口被占用)

sudo fuser -k 8000/tcp         
#啟動Django項目,如果出現Error:That port is already in use.   關掉8000的進程就好 

重啟nginx

nginx -s reload   

檢查nginx配置文件語法是否正確

cd /etc/nginx
nginx -t

查看軟連接指向

# 1. 查看軟連接位置---》在/usr/bin 目錄
whereis python
whereis python3
whereis pip
whereis pip3
# 2. 列出軟連接指向文件
ls -al python*
ls -al pip*

卸載python

# 1. 刪除python3.x的安裝包
cd 安裝目錄
rm -rf python3.xx
# 2. 刪除軟件的軟連接
cd /usr/bin
rm -rf python3 #刪除兩個軟連接
rm -rf pip3

重啟nginx

nginx -s reload 

本地測試鏈接是否成功

curl http://127.0.0.1:80

安裝virtualenv

#  python安裝完成后!!!
#1. 安裝虛擬環境管理庫
pip3 install virtualenv
#2. 創建軟連接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
#3.安裝成功在根目錄下建立兩個文件夾,主要用于存放env和網站文件的。(個人習慣,其它人可根據自
己的實際情況處理)
mkdir -p /data/env # env保存各種項目對應虛環境
mkdir -p /data/wwwroot #wwwroot,存放網站源碼!
#4. 切換到/data/env/下,創建指定版本的虛擬環境。
virtualenv --python=/usr/bin/python3 jd(虛擬環境名)
#5. 激活
cd /data/env/jd/bin
source activate # deactivate 退出虛擬環境
#6. 安裝項目依賴
pip install django==2.1.8/requets/numpy/pandas......

防火墻

firewall-cmd --state                       #查看防火墻狀態
systemctl stop firewalld.service           #停止防火墻
systemctl disable firewalld.service        #禁止firewall開機啟動 

總結

以上是生活随笔為你收集整理的Centos7下部署Python项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。