为静态网页建立server
npm install http-server –g
http-server -p 8001
统一前后台端口
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://localhost:8001;
}
location /api/ {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
}
Nginx配置
worker_processes 1;//worker_processes启动几个实例,cpu多核可以多开几个
在使用Nginx做反向代理的时候,proxy_set_header功能可以设置反向代理后的http header中的host,
那么常用的几个设置中$proxy_host, $host,$http_host又都表示什么意思呢?
Nginx的官网文档中说下面这两条是做反代时默认的,所以$proxy_host 自然是 proxy_pass后面跟着的host了
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
1
2
如果客户端发过来的请求的header中有’HOST’这个字段时,
$http_host和$host都是原始的’HOST’字段
比如请求的时候HOST的值是www.csdn.net 那么反代后还是www.csdn.net
如果客户端发过来的请求的header中没有有’HOST’这个字段时,
建议使用$host,这表示请求中的server name。
日志应当放到文件中
//读取文件内容
fs.readFile(fileName,(err,data)=>{
if(err){
console.log(err);
return
}
//如果文件内容很大,这种方法不适用
console.log(data.toString());
});
Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
原因:未开启服务
由于 JavaScript 中一切都是对象,任何都不例外,对所有值类型应用 Object.prototype.toString.call() 方法结果如下:
1. console.log(Object.prototype.toString.call(123)) //[object Number]
2. console.log(Object.prototype.toString.call('123')) //[object String]
3. console.log(Object.prototype.toString.call(undefined)) //[object Undefined]
4. console.log(Object.prototype.toString.call(true)) //[object Boolean]
5. console.log(Object.prototype.toString.call({})) //[object Object]
6. console.log(Object.prototype.toString.call([])) //[object Array]
7. console.log(Object.prototype.toString.call(function(){})) //[object Function]
所有类型都会得到不同的字符串,几乎完美。