nginx介绍: https://lnmp.org/nginx.html
centoOs中安装与使用nginx命令:
yum search 包名 //查找包名
yum install 包名 //安装该包
-----------------------------------------------------------------------
-------->安装pcre:
wget https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz //下载压缩包
tar -xvf pcre-8.44.tar.gz //解压压缩包
cd pcre-8.44
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
./configure
make && make install //编译后并安装
pcre-config --version //查看pcre依赖的版本号
-----------------------------------------------------------------------
------>安装nginx:
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -xvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
./configure
make && make install
---------------------------------------------------------------------
-------->启动关闭重载nginx(注意必须在sbin目录下使用以下命令)
nginx.conf是一个nginx配置文件,默认为80端口
安装成功后,在usr/local有nginx目录,nginx/sbin里有启动脚本
cd /usr/local/nginx/sbin
./nginx //启动nginx
./nginx -s stop //停止nginx
./nginx -s reload //重新加载nginx(比如更改了nginx配置文件,就可运行该命令)
-----------------------------------------
----------->开放nginx端口号
ps -ef |grep nginx //查看是否有nginx进程
firewall-cmd --list-all //查看开放的端口号
firewall-cmd --add-port=80/tcp --permanent //设置开放端口号
firewall-cmd --remove-port=80/tcp --permanent
firewall-cmd --reload //重启防火墙
------------------------------------------
XShell上传文件到Linux服务器上:yum install lrzsz
[root@localhost logs]# tail -f catalina.out //查看tomcat的日志
当linux中运行两个tomcat时,这两个tomcat的配置文件(server.xml)中的所有端口号不能相同,如果相同另一个tomcat可能无法运行出现端口被占用。
nginx配置文件可以分为全局块、events块 和 http块(http全局快和service块)
正向代理:客户端浏览器配置代理服务器,通过该代理服务器访问其它服务器。
反向代理:客户端浏览器无需配置代理服务器,客户端访问代理服务器然后代理服务器访问其它服务器。(暴露代理服务器ip,隐藏真实服务器ip)
反向代理nginx.conf配置文件:(linux防火墙对外开放nginx端口9001,不开放两个tomcat端口8080和8081)。
- 在8080的tomcat创建目录edu 路径为 “/root/down/apache-tomcat-7.0.70/webapps/edu”,并在edu下创建index.html
- 在8081的tomcat创建目录xmut路径为 “/root/down/apache-tomcat-7.0.70/webapps/xmut”,并在xmut下创建index.html
- 客户端访问192.168.2.8/edu/index.html 或 192.168.2.8/xmut/index.html
//nginx.conf:
server {
listen 9001;
server_name 192.168.2.8;
location ^~ /edu{
proxy_pass http://localhost:8080;
}
location ~ /xmut{
proxy_pass http://localhost:8081;
}
}
上述location ~、location ^~的意思:
nginx负载均衡配置:将请求以某种策略分发给不同服务器去处理
// xmutserver是我随便取得名字
//weight代表为权重。意思是四分之三的请求将被分配给8080端口的tomcat服务器
upstream xmutserver{
server 192.168.2.8:8080 weight=3;
server 192.168.2.8:8081 weight=1;
}
server{
listen 80;
server_name 192.168.2.8;
location /{
proxy_pass http://xmutserver;
}
}
NginxNginx 提供了几种分配方式 提供了几种分配方式 提供了几种分配方式 提供了几种分配方式 (策略 ):
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
weight代表权 代表权 ,默认为 1, 权重越高被分配的客户端多
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:upstream server_pool{
server 192.168.5.21:80 weight=10;
server 192.168.5.22:80 weight=10;
}3、ip_hash
每个请求按访问ip 的hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决session 的问题。 例如:
upstream server_pool{
ip_hash;
server 192.168.5.21:80;
server 192.168.5.22:80;
}
动静分离配置:将动态请求和静态请求分配给不同的服务器处理而提高响应
动指动态资源(servlet、jsp)
静指静态资源(图片、html、css)
#注意先在linux中分别创建/data/www 和/data/image目录,其中在www目录中放入index.html文件,在image目录中放入index.png图片。
#nginx 处理静态资源
#客户端访问 http://192.168.2.8/www/index.html
#客户端访问 http://192.168.2.8/image/
server{
listen 80;
server_name 192.168.2.8;
location /www/ {
root /data/;
index index.html;
}
location /image/ {
root /data/;
autoindex on; #使图片名字以目录的形式展现
}
}