VPS 問題,斷開 putty 網站就無法訪問了,可能是哪些原因?
01-26
我的安裝程序已經搭建好了,
ssh登錄之後執行下面的命令,然後就可以訪問了 cd /root/recaptcha-django-read-only/myforum/askbot/setup_templatespython 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 最好?