用node.js做一個伺服器
1. 創建server.js文件
```
var http = require(http)
var fs = require(fs)
var url = require(url)
var port = process.argv[2]
if(!port){
console.log(請指定埠號?
node server.js 8888 例如這樣?)
process.exit(1)
}
var server = http.createServer(function(request, response){
var parsedUrl = url.parse(request.url, true)
var path = request.url
var query =
if(path.indexOf(?) >= 0){ query = path.substring(path.indexOf(?)) }
var pathNoQuery = parsedUrl.pathname
var queryObject = parsedUrl.query
var method = request.method
/******** 從這裡開始看,上面不要看 ************/
console.log(得到 HTTP 路徑
+ path)
console.log(查詢字元串為
+ query)
console.log(不含查詢字元串的路徑為
+ pathNoQuery)
if(path==/style){
response.setHeader(Content-Type,text/css;charset=utf-8)
response.write(body{background-color:#ddd;color:#666})
response.end()
}else if(path == /script){
response.setHeader(Content-Type,text/javascript;charset=utf-8)
response.write(alert("這是js執行的"))
response.end()
}else if(path==/){
response.setHeader(Content-Type,text/html;charset=utf-8)
response.write(<!DOCTYPE>
<html><head>+
<link rel="stylesheet" type="text/css" href="/style">+
<script type="text/javascript" src="/script"></script>+
</head><body><h1>你好Hello Node.js</h1></body></html>)
response.end()
}else{
response.statusCode = 404
response.end()
}
/******** 代碼結束,下面不要看 ************/
})
server.listen(port)
console.log(監聽 + port + 成功
http://localhost: + port)
```
2. 命令行
`node server.js 8888`或`node server 8888`指定埠號
新開命令行窗口
```
curl -s -v -- "http://127.0.0.1:8888"
curl -s -v -- "http://127.0.0.1:8888/index"
curl -s -v -- "http://127.0.0.1:8888/index=?sddfsdfsdf"
````
查看結果
ps:列印出現%時,如Hi%,編輯server.js文件,`Hi
`,保存退出。再次執行`node server.js 8888`或`node server 8888`指定埠號,新開命令行窗口
```
curl -s -v -- "http://127.0.0.1:8888"
curl -s -v -- "http://127.0.0.1:8888/index"
curl -s -v -- "http://127.0.0.1:8888/index=?sddfsdfsdf"
````
列印查看結果即可
推薦閱讀:
※裝X - 建立自己的斗圖網站庫
※Linode 里為什麼 Ubuntu 最火呢?
※semaphore和mutex的區別?
※你需要掌握的那些Linux命令