centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)
記錄一次Django部署的文章,不是很熟悉Linux系統,踩了不少坑,本篇文章相當于是一個總結,我會在本文中詳細介紹,部署單個Django項目和多個Django的方法,如讀者有更好的方法,歡迎留言一起探討~
長話短說,滿滿干貨,先介紹部署單個Django項目的方法,本文是使用的服務器基于騰訊云的centos7,使用的python3版本,Django2.2
部署前的準備工作
1、更新系統
yum update -y
2、安裝軟件包和可能出現的依賴
yum -y groupinstall "Development tools"
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
3、下載python3
cd /usr/local # 我們將python3下載到這里
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 # 進入python3.7.4路徑
./configure --prefix=/usr/local/python3 # 編譯安裝到制定的目錄,這樣做是為了跟系統默認的python2.7的做有效的隔離
make
make install # 安裝python3
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 # 安裝完成之后 建立軟鏈接 添加變量 方便在終端中直接用python3進的是python3的版本
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3 # Python3安裝完成之后pip3也一塊安裝完成,不需要再單獨安裝同樣給pip3建立軟鏈接
保留了系統的python版本,又可以使用我們剛安裝的python3版本4、安裝Django+uwsgi(強烈建議在虛擬環境安裝,這樣有利于版本隔離,由于本項目是練手項目未安裝虛擬環境,直接在系統里安裝)
pip3 install django # 安裝Django
pip3 install uwsgi # 安裝uwsgi
單個Django項目部署
切換到根目錄創建www文件,這里面用于存放Django項目(根據個人習慣,你想在哪個目錄存放都可以,畢竟服務器是你自己的嘛,愛咋玩兒咋玩兒~)
django-admin.py startproject demo # 創建一個名為demo的Django
demo是我們創建的Django項目cd demo # 進入到demo項目
python3 manage.py startapp blog # 創建一個名為blog的應用
mkdir static # 創建一個存放靜態文件的文件夾
mkdir templates # 創建一個存放模板的文件夾
vim /www/demo/demo/settings.py # 編輯Django的設置文件
修改3個地方,因為項目將部署上線,所以DEBUG模式改為False,ALLOWEDHOSTS修改加‘*’,表示任何ip都可訪問,最后在INSTALLED_APPS里面引入我們的應用,這里填寫的是Django剛剛創建的APP的名稱。
os.path.join(BASE_DIR, 'templates') # TEMPLATES的DIRS里添加模板路徑
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'), # 在setting的尾部添加,然后 ZZ保存退出
)
vi /www/demo/templates/index.html # 創建index.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的網站</title>
</head>
<body>
<h1>歡迎erha光臨我的網站!</h1>
</body>
</html>
寫入html文件
vi /www/demo/demo/urls.py # 配置路由
from blog import views #導入views
urlpatterns = [
...
path('', views.index), #添加這行
....
]
vi /www/demo/blog/views.py
def index(request):
return render(request, 'index.html')
python3 manage.py runserver 0.0.0.0:8000 # 啟動項目并查看
此時訪問你的ip + 8000端口就能看到效果了
這里展示的頁面就是我們寫的HTML里面的頁面vi /www/demo/demo.xml # 創建一個demo.xml 文件并填寫以下內容
<uwsgi>
<socket>127.0.0.1:8000</socket> <!-- 內部端口,自定義 -->
<chdir>/data/www/demo/</chdir> <!-- 項目路徑 -->
<module>demo.wsgi</module> <!-- demo為wsgi.py所在目錄名-->
<processes>4</processes> <!-- 進程數 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
安裝Nginx與配置Nginx
1.進入home目錄并執行以下命令
wget http://nginx.org/download/nginx-1.13.7.tar.gz # 下載Nginx安裝包
2.解壓
tar -zxvf nginx-1.13.7.tar.gz
3. 進入解壓后的路徑并編譯
cd nginx-1.13.7
./configure
make
make install
nginx一般默認安裝好的路徑為/usr/local/nginx 在/usr/local/nginx/conf/中先備份一下nginx.conf文件
cp nginx.conf nginx.conf.bak
然后打開nginx.conf,把原來的內容刪除,直接加入以下內容:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.bingpython.com; #改為自己的域名,沒域名修改成ip
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 /www/demo/; #項目路徑
}
location /static/ {
alias /www/static/; #靜態資源路徑
}
}
}
進入 /www/demo/ 目錄,啟動uwsgi
uwsgi -x demo.xml
進入/usr/local/nginx/sbin/目錄
先執行./nginx -t 測試一下Nginx是否配置正確
命令先檢查配置文件是否有錯,沒有錯就繼續執行:
./nginx
終端沒有任何提示就證明nginx啟動成功??梢允褂媚愕姆掌鞯刂凡榭?#xff0c;成功之后就會看到一個nginx歡迎頁面。
進入到網站根目錄,對應本項目的:
cd /www/demo
uwsgi -x demo.xml # 運行uwsgi文件
cd /usr/local/nginx/sbin/
執行:
./nginx -s reload # 重啟Nginx
然后去訪問你的域名,我的測試項目,這就部署單個項目成功了!下面這個測試項目我準備寫一個Django教程,里面包含Django開發的個人博客教程&Django開發電商教程,現在還在優化之中,預計今年年中能夠上新,歡迎廣大程序猿小伙伴兒來撩呀~
我的網站?www.bingpython.com關于Nginx部署多個項目教程我過幾天抽時間了再來寫,年底了有些忙啊~~~
部署Django項目的文章出爐啦,點擊這里https://zhuanlan.zhihu.com/p/102154526
冰先生:CentOs7下Nginx+UWSGI部署Django項目(超詳細)部署多個站點,建議先贊后收藏?zhuanlan.zhihu.com建議先贊后收藏!!!避免以后找不到嘍!!!
總結
以上是生活随笔為你收集整理的centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐5款心仪的电脑软件
- 下一篇: find命令 -- 之查找指定时间内修改