什么是Nginx:
⼀款⾼性能的 http 服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器。
为什么要学习Nginx:
1、http 服务器,可以做⽹⻚静态服务器。
2、虚拟主机,可以实现在⼀台服务器虚拟出多个⽹站。
3、反向代理,负载均衡。(以应对高并发产生的问题)
怎么使用Nginx:
1、首先需要下载Nginx,我这里用docker进行下载。
/*下载:docker下载Nginx镜像docker search nginx,再拉取docker pull nginx
*创建容器:首先mkdir ~/nginx 意思是在~目录下创建nginx文件夹,用于存放nginx容器数据的目录
*配置主要的端口映射和目录映射:mkdir conf 创建存放配置文件的文件夹,创建主要的配置文件
*配置项目的配置文件:~/nginx/conf.d/xxx.conf ,配置项目所需反向代理的配置文件
upstream 自定义反向代理的名称{#前提是你有对应的端口(的容器),他自动会负载均衡
server 你自己的ip:项目的端口;
server 你自己的ip:项目的端口2;
server 你自己的ip:项目的端口3;
}
server {
listen 端口号; # 监听的端⼝
proxy_pass http://自定义反向代理的名称; #对应上面定义的反向代理
server_name 域名或端口名; # 域名或ip,如果域名还需在本机电脑修改host
location / { # 访问路径配置
root /usr/share/nginx/html;# 根⽬录
index 首页的文件名称; # 默认⾸⻚
}
}
启动容器:
docker run -id --name=nginx \ #-id表示后台守护容器,--name的名称是自定义的
-p 80:80 \ #-p是配置映射端口,虚拟机80映射容器里80的端口号
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \ #-v配置数据卷,挂载容器中的主要配置文件
-v $PWD/conf.d:/etc/nginx/conf.d \ #挂载容器中项目反向代理负载均衡的配置文件
-v $PWD/logs:/var/log/nginx \ #挂载系统日志
-v $PWD/html:/usr/share/nginx/html \ #挂载静态页面
nginx #拉取下来的镜像名称
*/
最后便可在本机上通过配置文件里的server_name对应的ip或者域名,就会通过配置里proxy_pass去找反向代理里对应的反向代理upstream,再反向代理到相应的服务器,如果反向代理配置了多个端口系统会自动实现负载均衡。
最后的最后,本文章仅代表个人,若存在错误、有不同意见或建议欢迎指出!谢谢