花了大半個月做的網站終於要上線了,周圍的同學們很多都在使用阿里雲的服務器,我也入手了一台。
考慮到自己不是很適應ubuntu的命令行界面,於是買了個windows的,上網搜了一下,似乎都是用linux來部署nodejs的,所以只能自己摸索着來,所幸的是nodejs本身就相當於web服務器,所以不需要apache之類的額外配置
一,配置環境
首先是要安裝node環境,可以到官網上下載安裝包,安裝好之后進入目錄安裝express框架:
npm install express -gd (全局安裝)
npm install -g express-generator(安裝generator)
詳情看這里: nodejs入門
二,部署網站
然后是把本地網站文件夾上傳到服務器上,為了圖省事我直接用郵箱附件發過去的==||
不用配置什么IIS服務器,也不用什么網站根目錄,直接丟在桌面上進入目錄使用命令:
node root.js//自定義的主文件
如果已經正確配置了nodejs,就可以正常運行了,就這么簡單
打開chrome(阿里雲自帶IE,自己下了一個chrome),在地址欄輸入
localhost:3000
網站就開始運行啦
除此之外,還可以在本地瀏覽器輸入
服務器ip:3000
就可以遠程訪問了~~~~
不需要什么網站根目錄,也不需要什么www,htdocs文件夾,node就是這么好用
三,域名綁定
接下里似乎還有一個問題
輸入IP和端口可以訪問了,域名怎么搞??
主機寶可以幫我們綁定域名,IIS服務器也能幫我們綁定域名,但nodejs似乎在裸奔誒
百度了好久,似乎有個叫IISNode的東西但出於對IIS的天然恐懼pass掉。
后來才找到下面的方法:
使用nginx的反向代理綁定域名
下載好nginx的windows版本之后,打開conf文件夾,網上有一些關於linux下nginx的配置,說要打開inculde文件夾新建conf文件但windows版本的似乎沒有啊~~~
解決方法:
打開nginx.conf,在http域里面,第一個server域下面添加如下內容:
upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
listen 80;
#xxx是你自己的域名
server_name www.xxx.com xxx.com;
# access_log ../logs/test.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://nodejs;
}
}
大致就是把外部的80端口訪問轉到本地的3000端口
詳細信息請看下面:
Nginx反向代理Nodejs
這樣就域名就綁定好了
除此之外,還要在域名服務商那里綁定ip,搞定之后,在瀏覽器輸入域名就可以訪問啦~~