用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 + 成功
localhost: + port)

```

2. 命令行

`node server.js 8888`或`node server 8888`指定埠號

新開命令行窗口

```

curl -s -v -- "127.0.0.1:8888"

curl -s -v -- "127.0.0.1:8888/index"

curl -s -v -- "127.0.0.1:8888/index=?"

````

查看結果

ps:列印出現%時,如Hi%,編輯server.js文件,`Hi
`,保存退出。再次執行`node server.js 8888`或`node server 8888`指定埠號,新開命令行窗口

```

curl -s -v -- "127.0.0.1:8888"

curl -s -v -- "127.0.0.1:8888/index"

curl -s -v -- "127.0.0.1:8888/index=?"

````

列印查看結果即可

推薦閱讀:

裝X - 建立自己的斗圖網站庫
Linode 里為什麼 Ubuntu 最火呢?
semaphore和mutex的區別?
你需要掌握的那些Linux命令

TAG:Nodejs | 伺服器 | Linux |