VirtualBox CentOS 7+Django+uwsgi+nginx
----------歡迎加入學習交流QQ群:657341423
Django搭建
CentOS 7系統相容Python2和Python3,本專案基於Python3環境搭建
安裝Django
CentOS 7系統安裝django
pip3 install django
在Windows下建立Django專案dataPlatform,並在setting.py新增以下程式碼:
#在MIDDLEWARE_CLASSES 設定列表裡的 'django.contrib.sessions.middleware.SessionMiddleware',下面加上:
#讓admin頁面變成中文
'django.middleware.locale.LocaleMiddleware',
#最後一行加上
# 獲取admin靜態檔案
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
然後在CMD視窗下執行
E:\dataPlatform>python manage.py collectstatic
該指令是生成靜態資料夾,主要儲存CSS,JS檔案等
最終Django目錄結構如下:
可以看到多出了資料夾static,最後利用FileZilla Client將專案上傳到VirtualBox CentOS 7系統中,如圖所示:
uwsgi搭建
CentOS 7系統安裝uwsgi
pip3 install uwsgi
測試 uWSGi 是否能正常執行:
uwsgi --http :8080 --chdir /dataPlatform -w dataPlatform.wsgi
執行結果:
在Windows的瀏覽器上輸入CentOS7的IP地址和uWSGi埠
http://10.168.1.185:8080/
瀏覽器可正常訪問CentOS7系統的Django專案
uWSGi正常執行,然後按Ctrl+z終止,並輸入指令檢視uWSGi的程式
lsof -i
如果系統沒有安裝lsof,可通過yum install lsof 安裝
然後結束uWSGi的程式:kill -9 1693
1693為程式ID
uWSGi測試完成後,接著是編寫配置uWSGi檔案,在Django專案下新建檔案myweb_uwsgi.ini,檔案程式碼如下
# myweb_uwsgi.ini file
[uwsgi]
# Django-related settings
socket= :8080
# the base directory (full path)
chdir=/dataPlatform
# Django s wsgi file
module=dataPlatform.wsgi
# process-related settings
# master
master=true
# maximum number of worker processes
processes=4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum=true
socket 指定專案執行的埠號。
chdir 指定專案的目錄。
module=dataPlatform.wsgi是對於myweb_uwsgi.ini檔案來說,與它的平級的有一個dataPlatform目錄,這個目錄下有一個wsgi.py檔案。
專案目錄如圖所示:
在CentOS 7執行uwsgi配置檔案,如圖所示:
在Django路徑下輸入
uwsgi --ini myweb_uwsgi.ini
執行結果上圖所示
安裝Nginx
由於CentOS7的yum安裝是沒有Nginx,所以我們將Nginx新增到yum上
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
新增完成後,使用yum安裝nginx
yum install nginx
完成安裝後,啟動nginx
systemctl start nginx
然後在windows瀏覽器輸入CentOS 7的IP地址
修改nginx.conf配置檔案。開啟/etc/nginx/nginx.conf檔案,新增以下內容:
………………
include /etc/nginx/conf.d/*.conf;
# 新增內容
server {
listen 8099;
server_name 127.0.0.1
charset UTF-8;
access_log /var/log/nginx/myweb_access.log;
error_log /var/log/nginx/myweb_error.log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /dataPlatform/static/;
}
}
}
整個檔案內容如下:
listen 指定的是nginx代理uwsgi對外的埠號。
server_name 網上大多資料都是設定的一個網址(例,www.example.com),此處以IP地址為例。
nginx到底是如何uwsgi產生關聯。大概最主要的就是這兩行配置。
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
include 必須指定為uwsgi_params;而uwsgi_pass指的本機IP的埠號與myweb_uwsgi.ini配置中的檔案中的必須一致。
最後重啟Nginx,在Nginx路徑下執行以下指令
然後在執行myweb_uwsgi.ini檔案(如果伺服器重啟,可按照以下步驟啟動,先啟動nginx,後啟動uwsgi)
在瀏覽器上訪問
相關文章
- centos 安裝virtualboxCentOS
- virtualBox centos 6.5 硬碟擴容CentOS硬碟
- VirtualBox安裝Centos7CentOS
- virtualbox centos安裝增強工具和Centos與VirtualBox共享資料夾設定CentOS
- vagrant + virtualBox 安裝centos7CentOS
- CentOS 安裝 VirtualBox(官網方法)CentOS
- Oracle VM VirtualBox安裝centos7OracleCentOS
- virtualbox安裝centos7,network is unreachableCentOS
- 秒搞VirtualBox 、CentOS 的安裝過程CentOS
- VirtualBox CentOS 7安裝Python3CentOSPython
- VirtualBox CentOS7網路配置(待整理)CentOS
- Virtualbox 安裝centos7虛擬機器CentOS虛擬機
- VirtualBox配置centos7靜態ip(詳解)CentOS
- VirtualBox CentOS 7實現本地系統連線CentOS
- 如何在 CentOS 8 / RHEL 8 上安裝 VirtualBox 6.0CentOS
- VirtualBox下Linux(centos)擴充套件磁碟空間LinuxCentOS套件
- CentOS6.5菜鳥之旅:安裝VirtualBox4.3CentOS
- VirtualBox擴容CentOS-7虛擬機器磁碟CentOS虛擬機
- VirtualBox虛擬機器設定共享資料夾(CentOS)虛擬機CentOS
- centos7.3(1611版本)安裝增強工具(VirtualBox)CentOS
- virtualbox虛擬機器上安裝centOS的網路配置虛擬機CentOS
- centos6.2安裝virtualbox建立xp的時候出錯CentOS
- virtualbox安裝centos7使用nat+hostonly的網路模式CentOS模式
- CENTOS 7 使用ORACLE VM VirtualBox 建立兩個虛擬網路卡注意事項CentOSOracle
- Ubuntu VirtualBoxUbuntu
- Index of /virtualboxIndex
- CentOS7 在 VirtualBox 上的安裝配置(3) — 圖形介面安裝篇CentOS
- VirtualBox安裝
- 關於VirtualBox4.3.0下CentOS7安裝VboxAdditions不成功的問題CentOS
- VirtualBox 6.1.34 釋出
- Mac安裝VirtualBoxMac
- virtualbox 安裝ubuntuUbuntu
- 自己動手從零寫桌面作業系統GrapeOS系列教程——4.1 在VirtualBox中安裝CentOS作業系統CentOS
- VirtualBox安裝Ubuntu教程Ubuntu
- Manjaro下安裝VirtualBoxJAR
- Mac下安裝VirtualBoxMac
- VirtualBox網路設定
- [virtualbox] temporary failure in name resolutionAI