如何把 python 項目通過nginx 部署到外網(wǎng)

我寫了一個簡單 python 項目, 內(nèi)網(wǎng)可以正常訪問, 通過 nginx 部署到服務器上, 實現(xiàn)外網(wǎng)訪問, 應該怎么配置 nginx. 內(nèi)網(wǎng)地址是:127.0.0.1:8000 外網(wǎng)的 ip 是 118.89.203.79'

為了通過 Nginx 部署 Python 項目并實現(xiàn)外網(wǎng)訪問,您可以使用 Nginx 作為反向代理。以下是一些步驟和示例配置:

確保 Python 項目正在運行:

在服務器上確保您的 Python 項目正在運行,并監(jiān)聽在 127.0.0.1:8000 上。

安裝 Nginx:

如果尚未安裝 Nginx,請使用以下命令進行安裝:

sudo yum install nginx

創(chuàng)建 Nginx 配置文件:

創(chuàng)建一個新的 Nginx 配置文件,例如 /etc/nginx/conf.d/myproject.conf:

sudo nano /etc/nginx/conf.d/myproject.conf

在文件中添加以下配置,將其中的 server_name 替換為您的域名或服務器 IP:

server {
    listen 80;
    server_name 118.89.203.79;  # 替換為您的服務器 IP

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /static/ {
        alias /path/to/your/static/files;  # 替換為您的靜態(tài)文件目錄
    }

    location /media/ {
        alias /path/to/your/media/files;  # 替換為您的媒體文件目錄
    }

    error_page 404 /404.html;
    location = /404.html {
        root /usr/share/nginx/html;
        internal;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
        internal;
    }
}

請確保替換其中的占位符為您的實際值,特別是 server_name、proxy_pass、alias 部分。

檢查 Nginx 配置并重新加載:

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

sudo nginx -t

如果沒有錯誤,重新加載 Nginx:

sudo systemctl reload nginx

現(xiàn)在, Python 項目應該通過 Nginx 進行反向代理,可以通過外網(wǎng) IP 地址訪問。確保在配置文件中根據(jù)您的實際情況進行適當?shù)恼{(diào)整。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容