最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

centos+nginx+uwsgi+Django實(shí)現(xiàn)IP+port訪問服務(wù)器

 更新時間:2026年02月07日 15:25:01   作者:wenxinqi  
這篇文章主要介紹了centos+nginx+uwsgi+Django實(shí)現(xiàn)IP+port訪問服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

環(huán)境

  • MacBookAir
  • 阿里云ESC: Centos7.0
  • nginx+1.16.1
  • uwsgi=2.0.18
  • django=2.2.7

服務(wù)器

進(jìn)入阿里云網(wǎng)站注冊賬號進(jìn)行購買,選擇地區(qū)和服務(wù)器系統(tǒng)配置

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

購買成功之后已經(jīng)創(chuàng)建了一個實(shí)例,點(diǎn)擊遠(yuǎn)程連接會有一個密碼(不記得了可以重啟實(shí)例進(jìn)行設(shè)置)自己本地做好文檔記錄

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

遠(yuǎn)程連接服務(wù)器工具

我使用的是fianlshell

安裝

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

連接

完成連接進(jìn)行環(huán)境配置

環(huán)境配置

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

pip3的使用:

因?yàn)橐呀?jīng)安裝了python3,python3安裝目錄下已經(jīng)存在了pip3,很多安裝包必須使用pip3進(jìn)行安裝;centos已經(jīng)安裝的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(總計(jì)851M):yum install mysql-community-server
執(zhí)行命令:pip3 install mysqlclient
啟動MYSQL服務(wù):systemctl start mysqld
查看MYSQLd的啟動狀態(tài):systemctl status mysqld
開機(jī)啟動:systemctl enable mysqld
修改root本地登錄密碼:
獲取密碼:grep 'temporary password' /var/log/mysqld.log
進(jìn)入mysql:mysql -uroot -p
設(shè)置密碼:set password for 'root'@'localhost'=password('你的數(shù)據(jù)庫密碼');

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

Django安裝

執(zhí)行:pip3 install django

執(zhí)行:django-admin help 進(jìn)行驗(yàn)證是否安裝成功

uwsgi安裝

執(zhí)行:pip3 install uwsgi

驗(yàn)證:uwsgi --version

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

nginx安裝

執(zhí)行:yum install nginx

驗(yàn)證:nginx -V

注意:使用yum安裝可能出現(xiàn)錯誤,這是因?yàn)榘惭b了python3導(dǎo)致的,這個時候需要去修改文件內(nèi)容(根據(jù)報錯信息進(jìn)行百度,進(jìn)行錯誤修改)

注意

上面我們已經(jīng)將所需要的環(huán)境和軟件已經(jīng)安裝完畢了,這中間可能出現(xiàn)一些問題,我們需要搜索一些資料進(jìn)行修改。因?yàn)檫@里每個人遇見的問題可能不一樣,因此沒有一一列舉,還請包涵;

下面我們就創(chuàng)建django項(xiàng)目,實(shí)現(xiàn)IP加port對服務(wù)器進(jìn)行訪問;

創(chuàng)建Django項(xiàng)目

在根目錄下創(chuàng)建Django項(xiàng)目

cd /
mkdir projects
cd projects
django-admin startproject test

數(shù)據(jù)庫中創(chuàng)建test 數(shù)據(jù)庫

mysql -u root -p
creat database test;

*test項(xiàng)目的settings 文件

DEBUG = False
ALLOWED_HOSTS = ['你的服務(wù)器IP']

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

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

:warning:這里最好是一個本地項(xiàng)目能夠正常運(yùn)行的項(xiàng)目拖入到projects目錄下,進(jìn)行上面的修改就好了

執(zhí)行數(shù)據(jù)遷移指令

python3 manage.py makemigrations
python3 manage.py migrate

完成Django項(xiàng)目的創(chuàng)建

nginx.conf文件的配置

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

對下面的內(nèi)容進(jìn)行修改

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

nginx的一些操作指令

systemctl start nginx.service 開啟
systemctl stop nginx.service 暫停
systemctl reload nginx.service 重啟
systemctl status nginx.service 查看狀態(tài)

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

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

uwsgi的使用和配置

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

uswgi中的內(nèi)容如下

[uwsgi]

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

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

啟動項(xiàng)目

啟動nginx:systemctl start nginx.service

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

訪問你的Django項(xiàng)目

瀏覽器輸入:IP+port+django中設(shè)置的url

瀏覽器訪問失敗問題查找

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

結(jié)語

開發(fā)中總是會出現(xiàn)很多問題,重要的是要找到錯誤的根源在那里,那里可以找錯誤的詳細(xì)描述,然后再根據(jù)詳細(xì)描述去查找。不要盲目的查找問題,更不要臆測,面對瀏覽器,你輸入的關(guān)鍵跟問題聯(lián)系緊密才能夠給你準(zhǔn)確的找到答案。

一篇文章不可能解決所有問題,更不可能解決所有人的問題。還是那句話,踩過坑才能對知識有更深的感悟。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

阿拉善右旗| 扎鲁特旗| 安西县| 镇坪县| 余姚市| 西青区| 东港市| 营口市| 玉环县| 天全县| 泰安市| 衡南县| 安庆市| 永春县| 靖安县| 车致| 东辽县| 潍坊市| 应城市| 东辽县| 绿春县| 合阳县| 吴忠市| 西乌珠穆沁旗| 天全县| 大厂| 漳浦县| 新闻| 延长县| 五台县| 永安市| 武宣县| 泌阳县| 盐津县| 来宾市| 乐山市| 孝义市| 洪江市| 沽源县| 大石桥市| 大足县|