早就听说了nginx的大名,同时最近的好多处问题都说最好用nginx反向代理解决,因此学习一下。
封面图《見上げてごらん、夜空の星》
引言
nginx(engine X)是一个高性能web服务器,也是一个反向代理服务器。对于用户来说只知道反向代理服务器,而不知道其背后的服务器集群,因此可以解决跨域问题。
常用命令
启动
1 2
| [nginx place] -c [nginx conf]
|
对于windows系统需要下面指令,另外windows系统需要
查询进程
1 2 3 4
| tasklist /fi "imagename eq nginx.exe"
ps -ax | grep nginx
|
其他命令
1 2 3 4 5 6 7 8 9
| nginx -s stop nginx -s quit nginx -s reload nginx -s reopen nginx -t nginx -T nginx -v nginx -V
|
配置文件解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
worker_processes 1;
events { worker_connections 1024; }
http { include mime.types; default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server { listen 80; server_name localhost;
location / { root html; index index.html index.htm; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
}
}
|
实战
本次使用nginx来代理hexo服务器
首先启动hexo
启动nginx,完整配置文件见后文
1
| C:\Users\14642\nginx-1.20.1\nginx.exe -c D:\LearnCode\qxdn.github.io\nginx.conf
|
此时打开浏览器访问localhost既可以发现80端口变成了博客,反向代理成功。
nginx完整配置文件
注意里面的proxy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
worker_processes auto;
events { worker_connections 1024; }
http { include C:/Users/14642/nginx-1.20.1/conf/mime.types; default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server { listen 80;
server_name localhost; location / { proxy_pass http://127.0.0.1:4000; proxy_set_header Host $host:$server_port; } } }
|
总结
本次实验初步完成nginx代理博客,后续将进一步完成docker化,前后端分离和子域名利用。
参考文献
[1]nginx doc
[2]一篇文章上手nginx