個人主頁搭建步驟
03-28
這兩天倒騰了個人主頁(網址www.kankantechs.com),下面是網站搭建(不包括網頁的編寫)部分的主要步驟:
1.到godaddy購買.com域名88或者120港幣一年(我忘了自己當時購買花了多少錢了,88?),價格也還好,支付方式我用的自己在香港的Visa卡。2.在digitalocean申請VPS伺服器2.1註冊digitalocean賬號
這個不用多說吧。大家可以通過我的referal鏈接來申請,DigitalOcean: Cloud computing designed for developers。這樣,雙方都有credit獎勵哦。值得一提的是,digitalocean要求你使用paypal支付或者Visa/MasterCard等信用卡完成一個一次性的5美金支付,你的賬號才算激活,只有激活的賬號才能申請VPS伺服器。2.2申請VPS伺服器點擊右上角Create Droplet來申請VPS伺服器系統選擇Ubuntu,畢竟咱最熟悉啊。大小選擇最小的,512MB內存,20GB的存儲空間,還有1000GB的流量,對於個人主頁(或者自己搭建的那啥上網工具)來說,足夠了,5美金一個月,約35RMB or 39港幣,也不是很貴。
增加存儲塊,個人主頁不需要太大容量,如果想跑大數據或者計算機視覺實驗,可以考慮考慮,當然,那樣你的伺服器大小也要做相應的調整。伺服器位置我推薦三番市,1號線,2號線都行。強烈不推薦新加坡線。因為各個國家和地區的網路帶寬不盡相同,甚至相距甚遠。在控制台使用以下命令:wget http://cachefly.cachefly.net/100mb.test測得的數據是,SFO1/2伺服器的帶寬大概是1000Mbit/s,而Singapore大概是100Mbit/s。對於VPS的選擇,我覺得可以多方面考慮,地理位置,帶寬,流量。SFO的伺服器可能離大陸比較遠,數據傳輸的延遲很大,但是它本身本地下載的速度是很快的,適合跑大數據實驗。Singapore的伺服器離大陸比較近,延遲低,雖然帶寬沒那麼高,但是用來搭上網工具,打打亞服的遊戲,是個不錯的選擇。所以我認為,這就叫所謂的各有利弊,各取所需吧。可以勾上這幾個不需要額外付費的服務,尤其是IPv6,這個手動配置起來有點麻煩(不要問我怎麼知道的),IPv6對於某些服務(你懂),有加速效果,其他的方法還有CDN(VPS伺服器配置也是門學問啊)。ssh -l root Your_Server_IP
輸出一段話告訴你是否信任此鏈接,輸入yes並回車,然後輸入郵件告訴你的root賬戶的密碼。3.2 linux賬戶管理3.2.1 更改root密碼第一次登陸時,系統會要求你更改root賬戶密碼,按要求更改即可。之後也能繼續更改密碼,命令如下:passwd <account name>如: passwd root3.2.2 新建一個linux賬戶如果你不希望始終以root身份登錄(因為涉及文件的許可權等問題),或者想與他人分享這個VPS伺服器,可以新建一個賬戶adduser <your_user_name>如:adduser kelly
命令會自動為你創建該用戶的home文件夾,如/home/kelly3.2.3 設置某用戶為管理員如果你希望設置某個用戶名為管理員,而不使用root賬戶的話,可以使用如下命令:sudo usermod -aG sudo <your_user_name>如:sudo usermod -aG sudo kelly當然,如果當前登入的用戶不是sudo賬戶,要使用su命令切換到sudo組的用戶,如root輸入此命令後,回車並輸入當前sudo賬戶如root的密碼即可。那麼<your_user_name>的用戶也會被分配到sudo組,具有sudo許可權。3.3 nginx配置首先在VPS上安裝nginx:
sudo apt-get install nginx在nginx的官網上可以找到nginx.conf文件的模板Getting Started | NGINX如wordpress的配置WordPress | NGINX我的部分配置如下:http { include mime.types; include /home/kelly/Documents/kelly-homepage/conf/down.kankantechs.nginx.conf;default_type application/octet-stream;
server { listen 8080; listen 80; server_name kankantechs.com; #charset koi8-r; #access_log logs/host.access.log main; location / { root /home/kelly/Documents/kelly-homepage; index index.html index.htm;}
} include servers/*;}解釋:listen表示伺服器監聽的埠,80埠是訪問該ip的默認埠;location / 表示設定根目錄的位置,root是根目錄位置,index是首頁文件的位置。include /home/kelly/Documents/kelly-homepage/conf/down.kankantechs.nginx.conf;表示包含該文件,文件down.kankantechs.nginx.conf的內容如下:server { listen 8082; server_name down.kankantechs.com;root /home/kelly/Documents/kelly-homepage/files;
autoindex on; autoindex_exact_size off; autoindex_localtime on; }#解釋:#autoindex on; #開啟索引。#autoindex_exact_size off; #關閉計算文件大小(單位bytes),顯示大概大小(單位kb,mb,gb)。#autoindex_localtime on; #on本機本地時間,off顯示GMT時間。root指出了下載伺服器被配置的根目錄位置3.4文件傳輸可以使用Github作為傳輸文件的工具,此處不表。我們用WinSCP(Mac可以使用CrossOver),如果是linux可以直接添加遠程鏈接。把寫好的網頁文件傳輸到伺服器的/home/kelly/Documents文件夾3.5在VPS上運行nginx前端伺服器首先看配置文件的路徑(mac和linux上並不相同)kelly@MyFirstVPS:~$ sudo nginx -t[sudo] password for kelly:nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful然後複製我們的配置文件到/etc/nginx/nginx.confsudo cp ~/Documents/kelly-homepage/conf/nginx4vps.conf /etc/nginx/nginx.conf如果有nginx伺服器在運行,輸入sudo nginx -s stop來停止運行然後再開啟nginx伺服器來應用新的配置文件sudo nginx這是輸入IP地址就能訪問我們的主頁了^_^4 go daddy綁定域名與IP在自己的賬戶中點Manage ConnectionForward選項中有Forward to,就是伺服器的ip地址;有Forward Type,永久和臨時的;有Settings。Settings可以設置僅僅Forward和Forward並隱藏ip。Forward and masking之後覆蓋了網頁標題和圖標等設置,同時伺服器ip不可見了要顯示標題和圖標,就不能masking,但這樣伺服器ip又暴露了。解決方案:[為Nginx設置反向代理,隱藏伺服器IP](為Nginx設置反向代理,隱藏伺服器IP | imDenny)待解決的問題:如何不使用godaddy的Forward and masking功能,隱藏伺服器IP,同時要展現標題和圖標。總結:搭建個人網站還挺簡單的,主要是需要網上的支付手段,相關賬號的申請。原理無非就是一台伺服器放網頁,然後使用DNS商家的服務進行域名的購買與解析,畢竟很難想像你搭好了伺服器和網站然後告訴別人用ip來訪問,對吧_(:зゝ∠)_。推薦閱讀: