【筆記】第一次將網站部署到服務器上


前幾天和兩個朋友一起租了個國外的服務器,自己手頭有個域名,打算寒假把flask學了做個網站玩一玩,不過還沒開工,下午學了下flask弄了個helloworld,所以迫不及待的想先試一下把它部署到服務器上去。

使用的架構是uwgsi+nginx+flask.

nginx是個什么東西呢,我們購買的服務器有一個ip地址,我們3個人有個人的域名需要解析到這個地址,互聯網上默認的請求都是通過80端口,然后我們各自的web應用在服務器上需要有自己的端口,那么nginx就把請求轉移到對應的服務器端口上去,比如我在服務器上的端口是8888。

而uwsgi是和python模塊對接的,nginx將請求送到對應的服務器端口上面去后,uwsgi會根據不同的端口調用對應的服務器應用來響應這個請求。

購買服務器的sy給我們每個人創建了一個用戶,以及對應的密碼,第一次嘗試用ssh遠程連接到我們的服務器上,但是每次都要ssh user@ip 比較麻煩,由於之前剛買不久就被惡意掃描端口破解權限,sy又改了默認的端口,每次都要加上-p ,然后還要輸入密碼,比較麻煩,所以在網上學了下ssh免密碼登錄的方法,具體的命令是$ ssh-keygen -t rsa,  然后在我電腦的用戶名下找到.ssh目錄(我用的是win),找到id_rsa.pub,再運行命令scp .ssh/id_rsa.pub user@ip:/home/user/id_rsa.pub  把它復制到服務器中,之后運行cat id_rsa.pub >> ~/.ssh/authorized_keys ,這里出現一點問題,我的沒有.ssh文件夾,一開始沒有創建所以一直出錯,然后創建也不能用sudo創建,否則也不行,搞定之后最后一句chmod 600 .ssh/authorized_keys就可以了。這樣就實現了免密碼登陸。

然后又由於每次都要輸入ip地址比較麻煩,所以要改下host文件,在win下找到C:\Windows\System32\drivers\etc里面的hosts,把它拷貝到別的地方修改host,然后再粘貼回原來的地方。由於現在用的電腦用戶名和服務器的一樣,所以就不用再加上user@ip前面的user@了

 

OK,前面都是一些為以后方便的工作,進入服務器后,找到/etc/uwsgi/ 里面是存放uwsgi的一些配置文件,剛好另外兩個人已經配置好了他們的,直接cp 過來改改就有一個自己的了(哈哈),配置文件里面主要有一些參數,chdir =  path  path是放置我的web應用的地址,然后又一個module =  xxx, 是啟動這個應用的模塊,

還有一個socket = :8888是我設置的端口號,其他一些和他們保持一致,這樣就配置好了uwsgi,然后sudo systemmctl restart uwsgi@xxxxx.com 就可以實現本地訪問我的網站了,要實現外網訪問,還要用到nginx

nginx的配置比較簡單,先進入/usr/local/etc/nginx/vhosts/,里面也有朋友已經配好的文件,繼續cp一份來修改,里面很簡單的,只有下面這樣,

1 server {
2     listen 80;
3     server_name www.xxxx.com;
4     location / {
5         include uwsgi_params;
6         uwsgi_pass 127.0.0.1:8888;
7 }

這樣也就配置好了nginx。

好了,最后去購買域名的地方把域名解析到我們的服務器ip地址就可以了,但是只進入到了我們的服務器卻沒有返回我的web應用,原因是之前被惡意攻擊后sy把所有的端口都禁止了,用了一個iptable來管理,配置文件在/etc/iptables/iptables.rules,加入一個 -A INPUT -p tcp -m tcp --dport 8888 -j ACCEPT就可以了

 

到此為止網站就可以直接通過域名訪問了,可能配置得比較簡單,網上有好多配置方法,這個應該算是最容易的了,可能后期需要比較多功能的時候還要改一些東西,但剛接觸的話太復雜也不好,這樣已經足夠一兩個小時內弄一個helloworld出來了,還是挺好玩的。

Ps:這篇不是教程。。只是簡單記錄下剛才配置的過程(怕今晚睡一覺就忘了。。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM