今天使用Nginx完成了项目前后端的部署。
Nginx可以进行代理与反向代理。第一次接触感觉有点御姐,但不要觉得这很复杂,其实简单解释它就是一个中转站。代理是站在客户角度,它可以帮你去访问一些网站从而实现隐藏你的真实身份(IP)。而反向代理就是把代理反过来了,它不做你的代理了而去做服务器的代理,这样你觉得你是只和一个人交流,其实你也不知道面具之后为你服务的究竟是谁。这样凭借一个面具就可以进一步进行请求的合理分配实现均衡负载等功能。
在服务器上配置:
1,首先就是一些重要的目录、文件。Nginx中有很多十分重要的目录或者文件,下面对核心内容进行介绍
配置文件相关
- `/etc/nginx/`:主要的Nginx配置文件目录。
- `/etc/nginx/nginx.conf`:Nginx的主配置文件,包含全局配置信息。
日志相关
- `/var/log/nginx/`:Nginx的日志文件目录,包括访问日志和错误日志。
- `/var/log/nginx/access.log`:访问日志,记录所有进入服务器的请求。
- `/var/log/nginx/error.log`:错误日志,记录服务器处理过程中的错误信息。
2,作为静态资源服务器
server {
listen 8080;
server_name 192.168.10.102;
location /hello-nginx {
root /usr/share/nginx/html;
index index.html;
}
}
这是配置文件,其中前两部分 listen 和 server_name是入口,其中listen是监听的端口,server_name是来对监听到的请求进行匹配的,可以是ip也可以是域名,其中域名访问虽然也会解析为IP但进行解析后它的请求头Header是不变的,所以也会匹配不上。(小技巧:server_name后面可以跟多个匹配对象,空格隔开就行)
Nginx 使用 location 指令来匹配不同的 URI 请求路径。/hello-nginx:这是要匹配的 URI 前缀。任何以 /hello-nginx 开头的请求都会被这个 location 块处理。而最终Nginx在寻找的文件就是root + location的前缀 + index拼接起来。
3,做反向代理
使用Nginx反向代理其他网站,比如http://www.GGbao.com
server {
listen 9090;
server_name 192.168.10.102;
location / {
proxy_pass http://www.GGbao.com;
}
}
这样对server_name的请求就被转发到www.GGbao.com了,当你还傻傻以为是192对你服务呢其实服务的人已经变成了GGbao。它可以是GGbao当然也可以是别的boy,就可以在次基础上完成负载均衡了。