Nginx

16 篇文章 0 订阅

安装时可借鉴的博客:https://blog.csdn.net/wxyjuly/article/details/79443432

C7:设置自动启动:https://blog.csdn.net/eakom/article/details/79393500

Nginx是干什么用的

Nginx ("engine x") 是一个高性能的HTTP和反向代理 服务器,特点是占有内存少,并发能力强,事实上nginx的 并发能力确实在同类型的网页服务器中表现较好,中国 大陆使用nginx网站用户有:百度、京东、新浪、网易、 腾讯、淘宝等。

作为web服务器

Nginx可以作为静态页面的web服务器,同时还支持CGI协 议的动态语言,比如perl、php等。但是不支持java。 

Java程序只能通过与tomcat配合完成。

安装nginx

1.1.安装pcre

解压缩pcre-xx.tar.gz包
进入解压缩目录,执行./configure

如果提示,需要提前安装gcc++ 联网:yum install gcc-c++ 

无网:进入安装光盘目录的软件包 (/media/CentOSXX/Package)执行

 rpm -ivh libstdc++-devel-4.4.7-17.el6.x86_64.rpm 

rpm -ivh gcc-c++-4.4.7-17.el6.x86_64.rpm

./configure完成后,回到pcre目录下执行make,再执行make install

2. 安装openssl

1、 解压缩openssl-xx.tar.gz包。
2、 进入解压缩目录,执行./config

3、 make && make install

3. 安装zlib

1、 解压缩zlib-xx.tar.gz包。
2、 进入解压缩目录,执行./configure。

3、 make && make install

4. 安装nginx

1、 解压缩nginx-xx.tar.gz包。
2、 进入解压缩目录,执行./configure。

3、 make && make install

nginx无法启动:

 libpcre.so.1/libpcre.so.0: cannot open shared object file解决办法

解决方法:

ln -s /usr/local/lib/libpcre.so.1 /lib64

attention:只有lib表示的是32位的操作系统

lib64表示的是64位的操作系统

32位系统则:

ln -s /usr/local/lib/libpcre.so.1 /lib

启动nginx

在/usr/local/nginx/sbin目录下 执行 ./nginx

关闭命令 

在/usr/local/nginx/sbin目录下 执行 ./nginx   -s stop 

重新加载命令 

在/usr/local/nginx/sbin目录下 执行 ./nginx   -s reload 

设置nginx为自启动服务

修改linux 启动脚本/etc/rc.d/rc 加入 : 

/usr/local/nginx/sbin/nginx

 

结合redis配置负载均衡

1、首先准备两个同时启动的Tomcat

2、拷贝对应jar包到tomcat下lib包中

commons-pool2-2.0.jar
tomcat-redis-session-manager1.2.jar

jedis-2.5.2

attention:

插入上面的jar包的时候需要放入在tomcat文件下面的lib的目录下面才可以

3、修改tomcat的下content.xml(加到最下方)

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValv 

e"/>  

<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  host="127.0.0.1"  

port="6379"  

database="0"  maxInactiveInterval="60" /> 

这里的host为部署nginx的主机的ip

4、启动redis

5、配置nginx.conf

注意:在以后的运行的过程中需要将ip_hash注释掉,这个选项的含义是 获取ip地址的hash值,同一个地址的hash值是相同的启动nginx之后不会 进行tc的切换

nginx的原理与配置

master&worker

master-workers的机制的好处

首先,对于每个worker进程来说,独立的进程,不需要加锁, 所以省掉了锁带来的开销,同时在编程以及问题查找时,也会方 便很多。

其次,采用独立的进程,可以让互相之间不会影响,一个进程 退出后,其它进程还在工作,服务不会中断,master进程则很快启 动新的worker进程。当然,worker进程的异常退出,肯定是程序有 bug了,异常退出,会导致当前worker上的所有请求失败,不过不 会影响到所有请求,所以降低了风险。

需要设置多少个worker

Nginx 同redis类似都采用了io多路复用机制,每个 worker都是一个独立的进程,但每个进程里只有一个主线 程,通过异步非阻塞的方式来处理请求, 即使是千上万个 请求也不在话下。每个worker的线程可以把一个cpu的性 能发挥到极致。 

所以worker数和服务器的cpu数相等是最为适宜的。设 少了会浪费cpu,设多了会造成cpu频繁切换上下文带来的 损耗。

连接数worker_connection

• 这个值是表示每个worker进程所能建立连接的最大值,所以,一个nginx 能建立的最大连接数,应该是worker_connections * worker_processes。 当然,这里说的是最大连接数,对于HTTP请求本地资源来说,能够支持的 最大并发数量是worker_connections * worker_processes,如果是支持 http1.1的浏览器每次访问要占两个连接,所以普通的静态访问最大并发数 是: worker_connections * worker_processes /2,而如果是HTTP作 为反向代理来说,最大并发数量应该是worker_connections * worker_processes/4。因为作为反向代理服务器,每个并发会建立与客 户端的连接和与后端服务的连接,会占用两个连接

nginx.conf 结构

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Diligently_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值