Nginx的使用

 

基本环境搭建

禁用防火墙

iptables -F:关闭

iptables -L: 查看

关闭安全系统SElinux

方法一:临时关闭(不用重启机器):

setenforce 0                 ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

方法二:修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

安装一定的支持与工具

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake  //c语言库的编译工具

yum -y install wget httpd-tools vim   //wget:网络下载工具

nginx下载安装

cd /usr/local

mkdir nginx

cd nginx

第一步,下载安装包和nginx相关依赖包

下载nginx   :wget http://nginx.org/download/nginx-1.8.0.tar.gz

下载openssl : wget http://www.openssl.org/source/openssl-fips-2.0.9.tar.gz

下载zlib    : wget http://zlib.net/zlib-1.2.11.tar.gz

下载pcre    : wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

第二步,编译安装

openssl :
 tar zxvf openssl-fips-2.0.9.tar.gz

cd openssl-fips-2.0.9

./config && make && make install

pcre:

cd ../ 返回

tar zxvf pcre-8.38.tar.gz

cd pcre-8.38

./configure && make && make install

zlib:

cd ../ 返回

tar zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure && make && make install

nginx

cd ../ 返回

tar zxvf nginx-1.8.0.tar.gz

cd nginx-1.8.0

./configure && make && make install

第三步:启动nginx

cd /usr/local/nginx/sbin/

./nginx

ps -ef | grep nginx

效果如图显示

nginx入门实现反向代理

nginx常用命令

在sbin 目录下 通过./ 启动命令

./nginx -s stop       # 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。

nginx -s quit       #平稳关闭Nginx,保存相关信息,有安排的结束web服务。

nginx -s reload     #因改变了Nginx相关配置,需要重新加载配置而重载。

nginx -s reopen     #重新打开日志文件。

nginx -c filename   #为 Nginx 指定一个配置文件,来代替缺省的。

nginx -t            #不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

nginx -v            #显示 nginx 的版本。

nginx -V            #显示 nginx 的版本,编译器版本和配置参数。

linux安装jdk与tomcat

安装jdk

进入jdk  rz文件:jdk-9.0.1_linux-x64_bin.tar.gz

解压

tar –zxvf jdk-9.0.1_linux-x64_bin.tar.gz

配置环境变量:

vim /etc/profile

G进入最后添加:

JAVA_HOME=/usr/local/jdk/jdk-9.0.1
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

保存退出

从新加载配置文件

source /etc/profile

安装tomcat

进入tomcat rz文件:apache-tomcat-9.0.4.tar.gz

tar -zxvf apache-tomcat-9.0.4.tar.gz

改名:

启动:进入bin目录 执行 ./startup.sh

防火墙什么的已经关闭了 可以在外面直接访问了

访问地址:虚拟机IP:8080

3.配置单台tomcat服务器反向代理

1.进入nginx的配置文件目录

vim nginx.conf  (不要配错了,配错了就q!退出来重配,不然容易出问题)

#运行用户

#user  nobody;

#启动进程 通常设置与cpu数量相同

worker_processes  1;

#错误日志路径配置

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#记录当前nginx启动的历史进程PID

#pid        logs/nginx.pid;

 

#工作模式及连接数上限,单个后台worker 进程的最大并发连接数

events {

    worker_connections  1024;

}

 

#设定http服务器,利用它的反向代理功能提供负载均衡支持

http {

    include       mime.types;

    default_type  application/octet-stream;

        #日志格式

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';

 

    #access_log  logs/access.log  main;

   #上面已经有描述了

    sendfile        on;

    #tcp_nopush     on;

        #链接超时时间

    #keepalive_timeout  0;

    keepalive_timeout  65;

 

    #gzip  on;

    #设置代理的服务器列表 这儿暂时一台 指向虚拟机本机的8080tomcat

    upstream hellonginx{

     server 127.0.0.1:8080;

   }

#http服务器

        server {

        #监听端口80  也就是输入该虚拟机ip就直接访问的端口

        listen       80;

        #定义域名访问 与windows中配置的虚拟域名对应

        server_name  nginx.test.com;

        #编码格式

        charset utf-8;

        #代理配置超时、头信息等参数 可以不配置

                proxy_connect_timeout 180;

                proxy_send_timeout 180;

                proxy_read_timeout 180;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarder-For $remote_addr;

        #access_log  logs/host.access.log  main;

        #

        #反向代理路径(和upstream绑定)

        location / {

            proxy_pass http://hellonginx;

        }

 

        #error_page  404              /404.html;

 

        # redirect server error pages to the static page /50x.html

        #

        #错误页面配置 可以不配置

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

}

重启nginx

配置windows的虚拟路径

打开Host文件,添加IP

你的虚拟机ip  你刚才配置的Server_name(nginx.test.com)  

例如:192.168.1.164 nginx.test.com

访问域名即可

 

流程是,

nginx.test.com   通过本机虚拟域名,映射到

172.18.37.96  访问某个ip地址默认就是80端口 所以进入了nginx

nginx监听到域名nginx.test.com 进入location的proxy_pass hellonginx

然后upstream代理的tomcat服务器名字也是hellonginx, 所以就被分发到了

Tomcat 127.0.0.1:8080

配置多台tomcat实现负载均衡

复制tomcat1 改名为tomcat2

修改三个端口号

进入tomcat2配置文件conf中 修改server.xml

 

为了区分我们把8081的小猫去掉

保存退出 分别进入两个tomcat的bin目录 ./startup.sh启动

一台有猫一台没有(不推荐使用chrome)

nginx代理两台实现负载均衡

修改nginx配置文件

重启nginx

./nginx -s reload

nginx负载均衡策略

1. weight(权重)

    指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况

如下所示,10.0.0.88的访问比率要比10.0.0.77的访问比率高一倍。

upstream linuxidc{ 
      server 10.0.0.77 weight=5; 
      server 10.0.0.88 weight=10; 
}

2.ip_hash(访问ip)

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream favresin{ 
      ip_hash; 
      server 10.0.0.10:8080; 
      server 10.0.0.11:8080; 
}

3. fair(第三方)

    按后端服务器的响应时间来分配请求,响应时间短的优先分配。与weight分配策略类似。

 upstream favresin{      
      server 10.0.0.10:8080; 
      server 10.0.0.11:8080; 
      fair; 
}

4.url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

注意:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法。

 upstream resinserver{ 
      server 10.0.0.10:7777; 
      server 10.0.0.11:8888; 
      hash $request_uri; 
      hash_method crc32; 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值