標籤:

VPS 問題,斷開 putty 網站就無法訪問了,可能是哪些原因?

我的安裝程序已經搭建好了,

ssh登錄之後執行下面的命令,然後就可以訪問了

cd /root/recaptcha-django-read-only/myforum/askbot/setup_templates

python manage.py runserver 202.142.20.231:8000

但是問題是當我斷開putty後網站又不能訪問了,請問哪裡出了問題?如何使網站斷開putty一直能夠訪問?


在終端上啟動的程序會被歸到一個會話組裡。當終端斷開的時候,這個會話組裡的所有程序會收到SIGHUP信號。而SIGHUP信號的默認動作是退出程序,所以putty斷開你的程序就不能用了。

解決辦法臨時的可以用nohup ,但是根本辦法還是要讓程序作為daemon運行。

將下列代碼加入python腳本的啟動部分的最前端就可以使腳本作為daemon運行了。

import os

if os.fork() != 0:

sys.exit()

os.setsid()

os.chdir("/")


nohup python manage.py runserver 202.142.20.231:8000


最偷懶的辦法:在伺服器上面先啟動一個 screen,然後再啟動你的程序,此後你就可以直接關閉 putty 窗口了。

以後登陸,使用 screen -xRR 可以換回你之前的窗口。


runserver 跑的是SimpleHTTPServer,單線程的不能並發,開發用的,要實際跑網站(估計你這也稱不上生產環境)的話,要用fastcgi/wsgi...等模式。


解釋已經有了我就告訴你該怎麼做吧。

1. screen

2. 運行程序

3. ctrl+a+d

回到程序前台

screen -ls

最後一步留給你自己查資料了。( ? ?ω?? )?


ssh退出後,ssh用戶開啟的進程也隨之結束,所以無法再訪問。解決方法可以用nohup或者screen。也可以做daemon進程


你的這句: python manage.py runserver 202.142.20.231:8000 是以當前會話來運行的,斷開putty,當然,當前會話中斷,這個python進程當然也沒了。

有個比較簡單的方法:python manage.py runserver 202.142.20.231:8000

在最後加上一個符號


恩 推薦用screen來運行後台進程


用apache或者nginx做前端吧


可以使用nohup [commond +args] 的方式運行,關掉putty程序斷掉是因為登陸該用戶所開啟的前端進程也會被關掉,使用nohup就是讓進程在後端運行,而且manager.py是開發測試使用的單線程伺服器,運行應用還是使用fastcgi或uwsgi模式


你試試ctrl+z,然後使用bg命令,即可讓其在後台運行


推薦閱讀:

VPS黑話大全
內網穿透、遠程控制、埠映射,八種方法匯總
有哪些好用的美國 VPS 或者獨立主機?
國內哪家 IDC 的 VPS 最好?

TAG:Linux | SSH | VPS |