20210705# Nginx
知识点
Nginx:静态资源服务器
传统的web项目,一般都将静态资源存放在 webroot的目录下,这样做很方便获取静态资源,但是如果说web项目很大,用户很多,静态资源也很多时,服务器的性能 或许就会很低下了。这种情况下一般都会需要一个静态资源的服务器。
进入nginx安装目录的conf目录下,修改nginx.conf文件,在一个server{}中添加 一个location 部分配置代码如下
root@ubuntu:/usr/local/nginx/conf# vi nginx.conf
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /image/ {
root /usr/local/myImage/;
autoindex on;
}
}
从上面的配置可以看出来 监听的端口为80,server_name为localhost(写ip地址也可以)
location /image/ {
root /usr/local/myImage/;
autoindex on;
}
这个配置表示输入 localhost:80/image/
时会访问本机的/usr/local/myImage/image/
目录。所以要新建/usr/local/myImage/image/ 目录,同时还要在nginx安装目录的html目录中新建一个 与 location中 image同名的image目录,虽然该目录里面什么也没有,在/usr/local/my Image/image/ 中我们放一张图片1.jpg上去,重启nginx服务,就可以通过 localhost:80/image/1.jpg访问了
root@ubuntu:/usr/local/nginx/html# mkdir image
root@ubuntu:/usr/local/nginx/html# mkdir /usr/local/myImage/image
#放一张照片上去#
root@ubuntu:/usr/local/nginx/html# cd /usr/local/myImage/image
root@ubuntu:/usr/local/myImage/image# ls
1.jpg
root@ubuntu:/usr/local/myImage/image#
重启 nginx
root@ubuntu:/usr/local/nginx/sbin# ./nginx -s reload
root@ubuntu:/usr/local/nginx/sbin#
打开浏览器 输入 server_name:80/image/1.jpg 就可以访问该静态图片了如下图
总结: server_name:listen/location/filename
实际访问地址 root/location/filename
在此例中就是: 客户端输入:localhost:80/image/1.jpg
; 定位到location为/image/
的配置,然后访问nginx服务器的:/usr/local/myImage/image/1.jpg
处的文件
Nginx 反向代理服务器
范例:使用 nginx 反向代理 www.123.com 直接跳转到127.0.0.1:8080
①、启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面
②、通过修改本地 host 文件,将 www.123.com 映射到 127.0.0.1(或使用SwitchHosts工具)
配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat初始界面。
那么如何只需要输入 www.123.com 便可以跳转到 Tomcat初始界面呢?便用到 nginx的反向代理。
③、在 nginx.conf 配置文件中增加如下配置:
server {
listen 80;
server_name www.123.com;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm index.jsp;
}
}
④、总结
其实这里更贴切的说是通过nginx代理端口,原先访问的是8080端口,通过nginx代理之后,通过80端口就可以访问了。
文档
- 英文: http://nginx.org/en/docs/
- 中文: https://www.nginx.cn/doc/
- 图灵教程笔记:https://www.cnblogs.com/gaotianhao/p/14975428.html
链接
- nginx有哪些作用? : https://zhuanlan.zhihu.com/p/54793789
- 8分钟带你深入浅出搞懂Nginx : https://zhuanlan.zhihu.com/p/34943332