nginx搭建

 

Nginx

代理:

(1)   正向代理:客户端(浏览器)需要配置代理服务器,通过一台代理服务器进行访问。

个人理解:(如:访问谷歌需要一个vpn一样。)

 

(2)   反向代理:客户端通过反向代理服务器转到xx服务器中,客户端是不需要进行任何配置,直接将请求给到反向代理服务器,反向代理服务器再将请求转到xx服务器,客户以为自己访问的是反向代理服务器,xx服务器得到了一定的安全保障。

个人理解:(反向代理服务器就相当于一个跳板机一样,客户直接是访问的跳板机,也只知道跳板机的地址。)

 

负载均衡:

       当访问请求超过服务器的本身负载时,则服务器变得卡慢。为了实现一个负载均衡的效果。则需要一个东西来将这些访问请求分别分发(可以是均衡分发也可以是其他的的方法)到各个服务器,nginx就是在其中充当了一个反向代理服务器(分发器)的作用。

动静分离:

        为了加快网站的解析速度,可以把静态页面和动态页面由不同的服务器来进行解析,加快了解析速度,也降低了原来单个服务的压力。

 

nginx服务器搭建:

搭建需要的软件链接:https://pan.baidu.com/s/1a5FBPXnNio0LAAcyw6sxOQ 
提取码:5oy7

 

搭建nginx需要  nginx、openssl 、zlib 、gcc、pcre

其中nginx 跟pcre需要去互联网上进行下载其余的用yum即可安装。

 

一、上传安装包。

 

 

 

 

 

二、安装pcre、pcre依赖、nginx。

安装pcre依赖:

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

安装pcre:

 

 

安装nginx:

[root@ml ~]# mkdir /usr/local/nginx && tar xf nginx-1.12.2.tar.gz  -C /usr/local/nginx

[root@ml ~]# cd /usr/local/nginx/nginx-1.12.2

[root@ml nginx-1.12.2]# ./configure

[root@ml nginx-1.12.2]# make -j 4 && make install

[root@ml nginx-1.12.2]# echo $?  #检查一下是否出现错误,返回0表示无误。

[root@ml nginx-1.12.2]# cd ..   #安装完之后会自动在/usr/local/下创建一个nginx目录

 

[root@ml nginx]# sbin/nginx  #执行启动脚本

 

注:本机ip为192.168.1.5     关闭防火墙以及selinux再进行访问。

 

 

 

 

Nginx的常用命令:

[root@ml ~]# cp nginx  /usr/sbin/ #将nginx的脚本拷贝到/usr/sbin下,方便调用

[root@ml ~]# nginx –v  #查看版本号

[root@ml ~]# nginx  -s stop #关闭nginx

[root@ml ~]# nginx #启动nginx

[root@ml ~]# nginx -s reload #重新加载配置文件

nginx的配置文件------三大块(/usr/local/nginx/conf/nginx.conf):

一、 全局块:

从开始到events之上都成为全局块。主要是设置一些影响nginx服务器的整体运行指令。

如:worker_processes  1;   这个数值越大,可以支持的并发处理器越多。

二、 events块:

events块会影响nginx服务器与用户的网络连接。

如:  worker_connections  1024;    表示最大连接数为1024。这个配置对性能影响较大,现实中灵活配置。

三、 http块(配置最为频繁,基本都会在这个模块进行配置):

http块包含有:http块、server块。

 

Nginx的反向代理1:

注:本实验只采用一台机器。

实现效果:打开浏览器,输入地址www.123.com,会自动跳转到本地linux的Tomcat服务器中。    

一、安装Tomcat。

先上传tomcat文件。

[root@ml ~]# tar xf apache-tomcat-7.0.70.tar.gz

[root@ml ~]# java –version #查询一下jdk是否存在,Tomcat需要依赖于jdk环境

[root@ml ~]# cd apache-tomcat-7.0.70/bin/

[root@ml bin]# ./startup.sh  #启动Tomcat

[root@ml bin]# netstat -atunp | grep 8080  #检查8080端口是否监听。

 

 

 

 

 

 

 

二、配置windows的hosts解析文件。

 

 

 

 

 

如果提示没有权限:

 

 

 

 

 

 

 

 

三、配置nginx主配置文件。

[root@ml ~]# cd /usr/local/nginx/conf/

[root@ml conf]# vim nginx.conf

 

 

 

[root@ml conf]# ../sbin/nginx -s reload  #重启加载配置文件

 

 

 

 

 

Nginx的反向代理2:

实现效果:打开浏览器,

输入地址192.168.1.5:9090/a/会自动跳转到Tomcat:192.168.1.5:8080/a/

输入地址192.168.1.5:9090/b/会自动跳转到Tomcat:192.168.1.5:8081/b/

8081 8080 分别代表着两个不同的服务器

一、配置Tomcat。

由于本次实验我需要两个不同的端口来进行访问,所以我打算配置两台Tomcat。

上传包并解压。

 

[root@ml ~]# mkdir tmocat

[root@ml ~]# cp -a apache-tomcat-7.0.70 tmocat/

[root@ml ~]# vim tmocat/apache-tomcat-7.0.70/conf/server.xml  #将里面的port=都随便改一改比如0变成1,下图这个是监听端口。

 

[root@ml ~]# cd tmocat/apache-tomcat-7.0.70/webapps/

[root@ml webapps]# mkdir a

[root@ml webapps]# echo 8081 >> a/index.html

[root@ml webapps]# tmocat/apache-tomcat-7.0.70/bin/startup.sh

 

[root@ml webapps]# cd ~/apache-tomcat-7.0.70/webapps/

[root@ml webapps]# mkdir b && echo 8080 >> b/index.html

[root@ml webapps]# ../bin/startup.sh

 

 

 

 

二、配置nginx代理。

[root@ml webapps]# vim /usr/local/nginx/conf/nginx.conf

在第85行这样自行添加。

 

 

 

 

[root@ml webapps]# /usr/local/nginx/sbin/nginx  -s reload

测试:

 

 

 

 

 

 

 

 

 

 

Nginx的负载均衡:

注:本实验只采用一台机器。

实现效果:打开浏览器,

输入地址192.168.1.5:/b/会自动跳转到Tomcat:192.168.1.5:8080/b/ 

输入地址192.168.1.5:/b/会自动跳转到Tomcat:192.168.1.5:8081/b/ 

大致实现一个轮询(默认)的效果,8081 8080 分别代表着两个不同的服务器

一、配置Tomcat。

[root@ml ~]# cd tmocat/apache-tomcat-7.0.70/webapps/

#由于上一次实验已经定义了8081端口,在此就直接进入目录去创建了,8080也是已经做好的。

[root@ml webapps]# mkdir b && echo 8081 >> b/index.html

[root@ml webapps]# cd ../bin/

[root@ml bin]# ./startup.sh  #进入bin目录重新启动一下

 

测试:

 

 

 

 

 

 

 

二、 配置nginx主配置文件。

[root@ml bin]# vim /usr/local/nginx/conf/nginx.conf

 

 

 

 

[root@ml bin]# /usr/local/nginx/sbin/nginx  -s reload

测试:

 

 

 

 

每刷新一次网页,就会跳转到不同的网页(服务器)。

 

Nginx的动静结合:

静态放nginx,动态放Tomcat

 

 [root@ml /]# cd data/

[root@ml data]# ls

[root@ml data]# mkdir tu

[root@ml data]# mkdir www

[root@ml data]# echo jingtai >> www/index.html

[root@ml data]# cd tu/  #上传一张图片。

[root@ml data]# vim /usr/local/nginx/conf/nginx.conf

 

 

 

 

[root@ml data]#  /usr/local/nginx/sbin/nginx  -s reload

 

 

 

 

 

 

 

Nginx WEB搭建:

默认首页存放位置。

 

 

 

 

 

定义其他存放目录(这用的是1.103主机):

[root@6 www]# mkdir /home/www/

[root@6 www]# echo 123 >> /home/www/index.html

[root@6 www]# vim /usr/local/nginx/conf/nginx.conf

 

 

 

 

 

 

 

基于端口进行访问:

[root@localhost nginx]# mkdir ml

[root@localhost nginx]# echo this is ml! >> ml/index.html

[root@localhost nginx]# vim conf/nginx.conf

 

 

 

 

 

[root@localhost nginx]# sbin/nginx -s reload

 

 

 

基于主机头进行访问:

[root@localhost nginx]# mkdir zhuji

[root@localhost nginx]# echo  zhu ji tou  >> zhuji/index.html

[root@localhost nginx]# vim conf/nginx.conf

配置文件中server{ }结束符在79行。所有我们在 80行这样写下配置。

 

 

 

 

[root@localhost nginx]# sbin/nginx -s reload

修改本机hosts文件,添加域名解析

 

 

posted @ 2020-01-08 18:58  meml  阅读(210)  评论(0)    收藏  举报