【Xmind】Nginx安装与配置

目录

安装:

1.安装Nginx源码需要gcc环境和第三方的开发包;

2.将Nginx源码解压缩

3.使用configure命令,创建makefile

 4.make

5.编译完成之后,进行安装

6.完成

7.启动

8.启动报错

9.再次启动

10.查看进程

11.关闭nginx

12.Nginx重新加载配置文件

 13.访问

Nginx的配置:

1.添加server

配置虚拟主机:

1.hosts文件:

2.复制server

Nginx作用:访问静态资源,配置虚拟主机,反向代理

反向代理:

1.代理(正向代理):客户端

2.反向代理:服务端

Nginx配置反向代理:

1.安装应用服务器:Tomcat

2.配置Nginx反向代理(配置Nginx请求转发):

(3)重新加载配置文件

集群,负载均衡:

Nginx实现高可用:

超过5万并发:


实现:

http服务器:Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器

虚拟主机:可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

反向代理、负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。


关闭防火墙:

启动 ./nginx 记得关闭防火墙:

service  iptables  stop 

永久关闭防火墙方法:

chkconfig  iptables  off


安装:

1.安装Nginx源码需要gcc环境和第三方的开发包;

  1. 需要安装gcc的环境。yum install gcc-c++
  2. 第三方的开发包。
  • PCRE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum install -y pcre pcre-devel

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

  • zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

  • openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel

2.将Nginx源码解压缩

[root@localhost ~]# tar zxf nginx-1.8.0.tar.gz

参数:zxf  /  zxvf

z:表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压(解压gz就要有参数z)

x:从 tar 包中把文件提取出来(从文档中释放)

f:f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz(是使用tar必选的放最后)

v:显示详细信息

3.使用configure命令,创建makefile

执行下面命令来生成Makefile

./configure \  加上反斜杠意思是这个命令没结束

--prefix=/usr/local/nginx \  指定安装目录

--pid-path=/var/run/nginx/nginx.pid \  在Linux环境下,每一个进程都有一个pid文件

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \  错误日志

--http-log-path=/var/log/nginx/access.log \  访问日志

--with-http_gzip_static_module \  加上gzip插件模块

--http-client-body-temp-path=/var/temp/nginx/client \  临时文件保存的路径,/var/temp/nginx这是存在的,必须先创建好,不然会报错

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

[root@localhost sbin]# mkdir /var/temp/nginx/client -p 【?】

 4.make

直接输入make命令编译源代码 

【输入make命令在什么位置?】

【在Nginx文件夹下(列表包含Makefile文件夹),输入命令make】

5.编译完成之后,进行安装

输入命令:

make install

因为上面已经指定过创建在哪个目录下(--prefix=/usr/local/nginx \  指定安装目录),所以install后就不用再指定位置了,直接执行。

6.完成

到 /usr/local 目录下,就会出现一个nginx文件夹

nginx中有 :

    conf(配置文件)

    html(欢迎页的根目录)

    sbin(Nginx服务)

7.启动

sbin目录下,运行命令:

./nginx

8.启动报错

 创建client失败,找不到对应的文件或目录

==> 需要创建 /var/temp/nginx

mkdir /var/temp/nginx

再次失败,因为这是一个多级目录,需要一层一层创建;

==> 创建多级目录  /var/temp/nginx -p

9.再次启动

./nginx

无信息返回,成功。

10.查看进程

ps aux|grep nginx

有两个进程:

说明nginx正常启动

11.关闭nginx

kill 4667  (正常关闭)

kill -9 4667  (暴力关闭)

推荐关闭方法: ./nginx -s stop

12.Nginx重新加载配置文件

./nginx -s reload  相当于快速重启,重新刷新下配置,并没有关机

 13.访问

可以通过http方式进行访问:直接输入ip,进入nginx欢迎页


Nginx的配置:

主要修改的是: nginx/conf 中 的 nginx.conf

vim nginx.conf

http{  http服务

    其他配置

    server一个server节点,就叫做一个虚拟主机

        listen    80;    监听的是80端口

        server_name   localhost;    域名

         location / {  请求来了到哪里去找资源

                root   html;    Html是nginx安装目录下的html目录(静态页面存放的位置,也可以使用绝对路径)

                index  index.html index.htm;  默认的欢迎页

                }

         还有出错页面相关;

        }

}

 如果想一台服务器布多个网站,复制一个server就行了

vi环境下的复制:

shift+v  选中

y  复制; p  粘贴; u取消

1.添加server

复制server之后,修改:

(1)监听端口: listen  81;

(2)localhost中根目录:  root  html81; 

完成


通过端口区分虚拟主机

通过域名区分虚拟主机

通过ip区分虚拟主机:ip稀缺资源,需要租用;一般一台服务器就一个ip

域名:就是网址,baidu.com是一级域名,www.baidu.com是一个二级域名;一个域名只能绑定一个ip,一个ip可以被多个域名绑定;

访问网站:用的协议是http协议,http协议底层是tcp/ip协议,联网的时候需要配一个ip地址,配个网关,配个dns的地址(解析域名用的),访问某台服务器,最终还是通过ip来访问的

dns服务器:把域名解析成ip地址,然后在通过ip地址去访问服务器;记录了域名和ip的映射关系(解析ip需要12个小时(一般四五个小时就能通过域名访问这个ip了),中间需要更新下服务器)


配置虚拟主机:

1.hosts文件:

hosts:可以配置域名和ip的映射关系,如果hosts文件中配置了域名和ip的对应关系,不需要走dns服务器。

window系统中路径:C:\Windows\System32\drivers\etc

2.复制server

配置虚拟主机,只需要复制一份server就行了

修改:

server_name:

location中的root:

就是在一个Nginx服务器上, 通过不同的server配置,访问不同的资源文件


Nginx作用:访问静态资源,配置虚拟主机,反向代理


反向代理:

1.代理(正向代理):客户端

代理服务器:我要上网,中间人替我上网,把信息在转给我(翻墙)【决定权在用户】

2.反向代理:服务端

网站入口只有一个,后面有很多服务器同时提供服务,请求到Nginx反向代理服务器,Nginx在去应用服务器找用户需要的服务,Nginx作为转发人转给用户;

服务端,到底哪台服务器为你服务,是由反向代理服务器决定的。【决定权在Nginx】

反向代理服务器,在公司的机房内部,可能只有反向代理服务器这上面绑定了公网ip,其他的应用服务器都是内网,


Nginx配置反向代理:

Nginx做的事就是一个请求转发,不在提供服务(root下的静态资源)

1.安装应用服务器:Tomcat

安装jdk,解压缩;(一般是不同的虚拟机,在不同的虚拟机上装Tomcat)

修改Tomcat端口:Tomcat目录下的 conf 中 server.xml

<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

<Connector port="8009" protocol="AJP/1.3"  redirectPort="8443"/>

Tomcat的欢迎页:Tomcat文件下 webapps/ROOT/index.jsp

2.配置Nginx反向代理(配置Nginx请求转发):

需要再加上一个server节点,将请求转发给Tomcat,配置完需要reload;

(1)配置hosts文件:通过域名来区分不同的网站

192.168.20.181  www.baidu.com

192.168.20.181  www.google.com

(2)

http{  

    其他配置

    upstream tomcat1{

        server  192.168.20.181:8080;

    }

    server一个server节点,就叫做一个虚拟主机

        listen    80; 

        server_name   www.baidu.com;    域名

         location / {  请求来了到哪里去找资源

                proxy_pass  http://tomcat1;    root访问的是静态资源,反向代理要改成请求转发(代理)

                index  index.html index.htm;  默认的欢迎页

                }

         还有出错页面相关;

        }

}

(3)重新加载配置文件

请求转发总结:不同的域名指向同一个ip,通过域名来区分不同的虚拟主机,然后Nginx转发给Tomcat来处理这个请求,处理完成之后Tomcat会转发给Nginx,Nginx在转发给浏览器;


集群,负载均衡:

在一个upstream 节点增加一个Tomcat服务器,weight为权重

upstream tomcat1{

        server  192.168.20.181:8080    weight=1;

        server  192.168.20.181:8082    weight=2;

    }


Nginx实现高可用:

Nginx网站的入口,保证高可用(不管什么情况下都不能挂)

实现高可用:增加冗余(加备份):

keepalived+nginx实现主备

keepalived(健康检查工具软件)


超过5万并发:

如果Nginx不够用,并发量超过5万:

硬负载:硬件负载均衡(F5)

Nginx是七层负载,应用层的负载

F5硬负载是四层负载,在传输层就能转发,效率更高

LVS:国产开元项目,四层负载,软负载,能达到F5的60%的能力

在各个环节加缓存以减轻系统的压力:CDN加速(缓存),相当于是在网络运营商那,买服务器,将网页内容缓存到网络运营商那里,请求的时候就不用访问到真正的 应用服务器 上了


 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值