Nginx在centos服务器中的安装与使用

 

Nginx是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器

轻量级Web服务器、反向代理服务器,相比较于Apache服务器,占用内存少,稳定性高,并发能力强,丰富的模块库以及友好灵活的配置等优势。

  1. 作为Web服务器处理静态文件、索引文件、自动索引的效率非常高
  2. 作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站的运行速度。
  3. 作为负载均衡器,Nginx既可以在内部支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时支持简单的容错和利用算法进行负载均衡。
  4. 性能方面,专门为性能优化而开发,实现上注重效率。采用Poll模型,支持更多的并发连接。
  5. 稳定性方面:采用分阶段资源分配技术,是的CPU与内存的占用率非常低,官方表示有一万个么有活动的连接,而这些连接只占用2.5MB内存,类似的DOS攻击对Nginx来说没有任何作用。
  6. 高可用性:支持热部署,启动速度快,可以再不间断服务的情况下对软件版本和配置升级。即时数月无需重新启动。

Nginx问题:怎么做映射?  nginx—conf-nginx.conf-基本配置文件

能做:反向代理、负载均衡、Http服务器(动静分离)、正向代理

反向代理:Nginx服务器能接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上的到的结果返回给internet上请求连接的客户端,此时代理服务器就是对外表现为反向代理服务器。简单地说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器被外部网络访问的同事又跟真实的服务器在同一网络环境,当然也可能是同一台服务器,端口不同而已。

反向代理代码:

保存配置文件,启动Nginx,当我们访问localhost的时候,相当于访问了localhost:8080了

负载均衡:分摊到多个操作单元进行执行,例如web服务器,FTP服务器,企业关键应用服务器和其他关键任务服务器等,从而共同完成工作任务。简单而言就是当有2台或以上的服务器时,根据规则随机将请求转发给指定的服务器处理,负载均衡一般同时要配置反向代理,通过反向代理跳转到负载均衡,而Nginx目前只支持自带3种负载均衡策略,还有2种常用的第三方策略。

负载均衡策略:

  1. RR(默认):每个请求按时间顺序注意分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。简单配置:

这里是配置了两台服务器,当然实际只有一台,只是端口不一致而已,而8081的服务器时不存在的,但是我们访问http://localhost的时候,也不会出现问题,会默认跳转到http://localhost:8080,具体是因为Nginx会自动判断服务器的运行状态,如果服务器挂了,就不会跳转到这台服务器,也就避免了一台服务器挂了影响使用的情况,由于Nginx默认是RR策略,所以不需要其他更多设置。

  1. 权重:指定查询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

那么10次访问,有九次大概会访问8080端口。

  1. ip_hash:上面的两种方式都有一个问题,就是下一个请求来的时候,请求分发到另外一个服务器,当我们的程序不是无状态的时候(采用session保存数据),这个时候就有一个很大的问题,比如登陆信息保存到session中,那么跳转到另外一台服务器就需要重新登陆了,很多时候我们需要客户只访问一个服务器,那么就需要用到ip_hash了,Nginx服务器根据IP地址的Hash结果进行分配,这样每个访客固定访问一台后端服务器,可解决session问题。
  2. fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。
  3. url_hash(第三方):按访问url中的hash结果来分配请求,使每个url定向到同一台服务器,后端服务器为缓存时比较有效。在upstream中加入hash语句,server语句中不能写入weight等其他参数,hash_method使用的是hash算法。

fair、url_hash需要安装第三方模块

 

Http服务器:Nginx本身也是静态资源服务器,当只有静态资源的时候,就可以使用Nginx作为服务器,同时也很容易实现动静分离,通过Nginx来实现,首先看Nginx做静态资源服务器

这样访问http://localhost就能访问到e:\wwwroot文件夹下的内容

 

动静分离:让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源分开来,动静资源做好拆分后,我们就可以根据静态资源的特点做缓存操作,这就是网站静态化处理的核心思路。

我们可以把HTML以及图片和css以及js放到wwwroot目录下,而tomcat只负责处理jsp和请求,例如当请求后缀为git的时候,Nginx会默认从wwwroot获取当前请求的动态图文件返回,当然这里的静态文件跟nginx是同一台服务器,我们也可以通过反向代理和负载均衡配置过去就好了,只要搞清楚做基本的流程就可以,配置相对简单。

正向代理:意思就是位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指向原始服务器,然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。当你需要把你的副武器作为代理服务器的时候,可以用Nginx来实现正向代理,但是Nginx有一个问题,就是不支持HTTPS。

resolver是配置正向代理的DNS服务器,listen是正向代理的端口,配置好了就可以在ie上面或者其他代理插件上使用服务器ip+port进行访问。

 

安装方法:

下载相关组件:

[root@localhost src]# wget http://nginx.org/download/nginx-1.10.2.tar.gz

[root@localhost src]# wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz

[root@localhost src]# wget http://zlib.net/zlib-1.2.11.tar.gz

[root@localhost src]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

安装C++编译环境:

[root@localhost src]# yum install gcc-c++
期间会有确认提示输入y回车
Is this ok [y/N]:y
省略安装内容...

安装Nginx相关组件:

openssl安装:

[root@localhost src]# tar zxvf openssl-fips-2.0.10.tar.gz
[root@localhost src]# cd openssl-fips-2.0.10
[root@localhost openssl-fips-2.0.10]# ./config && make && make install

pcre安装:

[root@localhost src]# tar zxvf pcre-8.40.tar.gz
[root@localhost src]# cd pcre-8.40
[root@localhost pcre-8.40]# ./configure && make && make install

zlib安装:

[root@localhost src]# tar zxvf zlib-1.2.11.tar.gz
[root@localhost src]# cd zlib-1.2.11
[root@localhost zlib-1.2.11]# ./configure && make && make install

nginx安装:

[root@localhost src]# tar zxvf nginx-1.10.2.tar.gz
[root@localhost src]# cd nginx-1.10.2
[root@localhost nginx-1.10.2]# ./configure && make && make install

一定要按顺序安装,服务器下载比较慢的话,推荐用迅雷下载压缩包后放到服务器中解压打开。

查看nginx安装到了哪个位置:

[root@localhost src]# whereis nginx

如果报错,error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory,按照下面方式解决

1.用whereis libpcre.so.1命令找到libpcre.so.1在哪里
2.用ln -s /usr/local/lib/libpcre.so.1 /lib64命令做个软连接就可以了
3.用sbin/nginx启动Nginx
4.用ps -aux | grep nginx查看状态

[root@localhost nginx]# whereis libpcre.so.1
[root@localhost nginx]# ln -s /usr/local/lib/libpcre.so.1 /lib64
[root@localhost nginx]# sbin/nginx
[root@localhost nginx]# ps -aux | grep nginx

进入Linux系统的图形界面,打开浏览器输入localhost会看到welcome to Nginx,说明nginx启动成功

 

Nginx基本操作(一般nginx会默认安装到 /usr/local/nginx/sbin/nginx):

启动: /usr/local/nginx/sbin/nginx

停止/重启: /usr/local/nginx/sbin/nginx -s -stop(quit、reload)

命令帮助: /usr/local/nginx/sbin/nginx -h 

验证配置文件: /usr/local/nginx/sbin/nginx  -t

配置文件: vim /usr/local/nginx/conf/nginx.conf

配置端口,添加白名单:

vim /etc/sysconfig/iptables

添加一行开启80端口

-A INPUT -p tcp -m state -- state NEW -m tcp --dport 80 -j ACCEPT
保存退出,执行。 
service iptables  restart

端口配置完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值