喵星之旅-狂奔的兔子-nginx入门(安装及简单配置)
一、什么是nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。
说到web服务器,tomcat也是web服务器,为啥要用nginx?
-
nginx是一个轻量级高并发服务器,而tomcat并不是。
-
nginx一般被用来做反向代理,将请求转发到应用服务器上,比如tomcat的应用。
-
nginx可以配置负载均衡。
-
nginx一般也用来处理跨域,或者用来将前后端分离情况下的前后端同域。
-
nginx做服务器,可以做静态资源处理,也可以进行复杂业务处理。
二、安装
nginx下载安装
下载地址:http://nginx.org/download/
先切换到安装目录
cd /usr/local/
下载
wget http://nginx.org/download/nginx-1.9.9.tar.gz
安装依赖
yum install gcc-c++
yum -y install pcre*
yum -y install openssl*
解压
tar -zxvf nginx-1.9.9.tar.gz
安装
cd nginx-1.9.9
./configure --prefix=/usr/local/nginx
make
make install
三、nginx基本操作
cd /usr/local/nginx/sbin/
启动:
./nginx
停止:
./nginx -s stop
四、nginx基本配置
1、Nginx配置静态资源
server{ listen 80; server_name www.kittybunny.club; location /blog/ { alias /static/test/; index index.html; } }
到80端口的请求,域名必须是www.kittybunny.club,然后访问/blog的请求,将获取/static/test/下对应的文件。
2、Nginx配置转发其他应用
server { listen 80; server_name www.kittybunny.club; location ^~ /api/ { proxy_pass http://127.0.0.1:8080/; } }
这个表示,到80端口的请求,域名必须是www.kittybunny.club,然后访问/api的请求,将转发到127.0.0.1:8080 这个应用上。
3、Nginx配置跨域访问
server { listen 80; server_name www.kittybunny.club; location /api/ { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; proxy_pass http://127.0.0.1:8181/api/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_buffers 32 4k; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; } }
到80端口的请求,域名必须是www.kittybunny.club,然后访问/api的请求,将转发到127.0.0.1:8181 这个应用上,而且支持跨域。
4、Nginx配置域名通配符访问
server { listen 80; server_name ~^(?<test>.+)\.kittybunny\.club$; location / { alias /static/test1/$test/; index index.html; } }
到80端口的请求,匹配到*.kittybunny.club,将转发到/static/test1 下对应二级域名的目录下。
5、负载均衡
upstream tomcats { server 192.168.0.100:8080; server 192.168.0.101:8080; } server { listen 80; location / { proxy_pass http://tomcats; } }
下面跳转打地址中tomcats是一个名字,就是指的上面的upstream后面的名字,upstream里面就是负载均衡的地址,这里是默认配置(轮询)。
也可以选择:
upstream myproject{ # ip_hash指令,将同一用户引入同一服务器。 ip_hash; server 192.168.0.100;
server 192.168.0.101;
}
或者:
upstream backserver { server 192.168.0.100 weight=3; server 192.168.0.101 weight=7; }
作者:喵星兔
出处:https://www.cnblogs.com/kittybunny/
喵星之旅:https://www.cnblogs.com/kittybunny/p/12148641.html
我的视频:https://space.bilibili.com/518581788
更多内容:不咬人的小兔子
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
我是兔子,我会喵,我叫喵星兔~~