溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析

發布時間:2021-06-05 13:46:49 來源:億速云 閱讀:272 作者:小新 欄目:開發技術

這篇文章主要介紹centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

服務器

進入阿里云網站注冊賬號進行購買,選擇地區和服務器系統配置

購買成功之后添加安全組(設置可訪問端口,不知道怎么設置的,網站有文檔,這里不贅述了)

centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析

centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析

購買成功之后已經創建了一個實例,點擊遠程連接會有一個密碼(不記得了可以重啟實例進行設置)自己本地做好文檔記錄

進入遠程連接界面后使用root+登錄密碼(這個密碼我是重置實例密碼獲取到的)進行連接

centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析

遠程連接服務器工具

我使用的是fianlshell

安裝

cd dir(進入你安裝的目錄)
curl -o finalshell_install.sh www.hostbuf.com/downloads/finalshell_install.sh;
chmod +x finalshell_install.sh;
sudo ./finalshell_install.sh

連接

centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析 centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析

完成連接進行環境配置

環境配置

python3安裝: 參考這篇文章進行安裝(編譯安裝前(make && make install) 先執行命令:yum install libffi-devel -y (解決:ModuleNotFoundError: No module named '_ctypes'))

pip3的使用:

因為已經安裝了python3,python3安裝目錄下已經存在了pip3,很多安裝包必須使用pip3進行安裝;centos已經安裝的python2中存在pip我們需要建立軟連接(ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3)

mysql安裝

下載mysql源安裝包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安裝mysql源:yum localinstall mysql57-community-release-el7-8.noarch.rpm
安裝mysql源:yum install mysql-devel
安裝MySQL(總計851M,翻墻):yum install mysql-community-server
執行命令:pip3 install mysqlclient
啟動MYSQL服務:systemctl start mysqld
查看MYSQLd的啟動狀態:systemctl status mysqld
開機啟動:systemctl enable mysqld
修改root本地登錄密碼:
獲取密碼:grep 'temporary password' /var/log/mysqld.log
進入mysql:mysql -uroot -p
設置密碼:set password for 'root'@'localhost'=password('你的數據庫密碼');

* 安裝過程中可能出現重置密碼失敗的情況,我實現的情況是:1、實現mysql免密登錄;2、重置密碼(可能出現password不存在的情況,更password為authentication_string );3、刷新重置列表:FLUSH PRIVILEGES 4、退出mysql; 5、輸入mysql -u root -p。進行密碼登錄;復制代碼

Django安裝

執行:pip3 install django

執行:django-admin help 進行驗證是否安裝成功

uwsgi安裝

執行:pip3 install uwsgi

驗證:uwsgi --version

注意:如果出現錯誤需要建立軟連接:ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

nginx安裝

執行:yum install nginx

驗證:nginx -V

注意:使用yum安裝可能出現錯誤,這是因為安裝了python3導致的,這個時候需要去修改文件內容(根據報錯信息進行百度,進行錯誤修改)

注意

上面我們已經將所需要的環境和軟件已經安裝完畢了,這中間可能出現一些問題,我們需要搜索一些資料進行修改。因為這里每個人遇見的問題可能不一樣,因此沒有一一列舉,還請包涵;

下面我們就創建django項目,實現IP加port對服務器進行訪問;

創建Django項目

在根目錄下創建Django項目

cd /
mkdir projects
cd projects
django-admin startproject test

數據庫中創建test 數據庫

mysql -u root -p
creat database test;

*test項目的settings 文件

DEBUG = False
ALLOWED_HOSTS = ['你的服務器IP']

INSTALLED_APPS = [
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'test' #你的項目名稱
]

DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.mysql',
 'NAME': 'test',
 'USER': 'root',
 'PASSWORD': 'mysql登錄密碼',
 'HOST': 'localhost',
 'PORT': '3306',
 }
}

:warning:這里最好是一個本地項目能夠正常運行的項目拖入到projects目錄下,進行上面的修改就好了

執行數據遷移指令

python3 manage.py makemigrations
python3 manage.py migrate

完成Django項目的創建

nginx.conf文件的配置

文件路徑:/etc/nginx/nginx.conf

對下面的內容進行修改

centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析

這里的IP(如果是阿里云esc服務器的化)要使用服務器的私有IP

nginx的一些操作指令

systemctl start nginx.service 開啟
systemctl stop nginx.service 暫停
systemctl reload nginx.service 重啟
systemctl status nginx.service 查看狀態

注意:在你重復開啟nginx的時候,你需要先殺死nginx進程才可以開啟nginx不然會有錯誤。

錯誤文檔查看路徑:/var/log/nginx/error.log和/var/log/nginx/access.log

uwsgi的使用和配置

在/projects/test路徑下創建uwsgi.ini文件(與manage.py在同一個目錄下)

uswgi中的內容如下

[uwsgi]

wsgi-file=/server/http_practice/http_practice/wsgi.py

# 項目目錄
chdir=/projes/test
# 指定項目的application
module=test.wsgi:application
# 指定sock的文件路徑 
#socket=你的IP+端口號(這里的IP要使用服務器(如果是阿里云esc服務器的化)的私有IP,端口要與nginx.conf中寫的IP+port一致)
# 進程個數 
workers=5
pidfile=uwsgi.pid
# 指定IP端口 
http=172.18.81.20:80
# 指定靜態文件
#static-map=/static=/opt/proj/teacher/static
# 啟動uwsgi的用戶名和用戶組
uid=root
gid=root
# 啟用主進程
master=true
# 自動移除unix Socket和pid文件當服務停止的時候
vacuum=true
# 序列化接受的內容,如果可能的話
thunder-lock=true
# 啟用線程
enable-threads=true
# 設置自中斷時間
harakiri=30
# 設置緩沖
post-buffering=4096
# 設置日志目錄
daemonize=uwsgi.log

啟動項目

啟動nginx:systemctl start nginx.service

啟動uwsgi:uwsgi3 --ini uwsgi.ini(若出現端口被占有,輸入:sudo fuser -k 8080(你配置的端口)/tcp)

訪問你的Django項目

瀏覽器輸入:IP+port+django中設置的url

瀏覽器訪問失敗問題查找

uwsgi錯誤文檔查詢:/projects/test/uwsgi.log(該文件啟動uwsgi會自動生成)
nginx錯誤文檔查詢:/var/log/nginx/error.log和/var/log/nginx/access.log

以上是“centos+nginx+uwsgi+Django實現IP+port訪問服務器的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女