1.nginx安装与基本配置

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

在虚拟控制台把vm1Memory改为2048,启动vm1

tar zxf nginx-1.12.0.tar.gz

useradd -M -d /usr/local/lnmp/nginx -s /sbin/nologin -u 800 nginx

yum install gcc pcre-devel openssl-devel -y

cd /root/nginx-1.12.0/src/core

vim nginx.h

nginx服务配置

改为#define NGINX_VER   "nginx" ## 隐藏版本号

cd /root/nginx-1.12.0/atuo/cc/

vim gcc  ##去掉debug模式编译,压缩其大小

nginx服务配置


nginx服务配置nginx服务配置

cd /root/nginx-1.12.0

./configure --prefix=/usr/local/lnmp/nginx --user=nginx --group=nginx --with-threads --with-file-aio --with-http_ssl_module --with-http_stub_status_module

make && make install

nginx服务配置

ln -s /usr/local/lnmp/nginx/sbin/nginx /sbin

curl -I localhost

nginx服务配置



2.进程优化

Nginx默认没有开启利用多核CPU,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核CPU。CPU是任务处理,计算最关键的资源,CPU核越多,性能就越好。

通过 cat /proc/cpuinfo来看cpu核心数

规则设定
(1)cpu有多少个核,就有几位数,1代表内核开启,0代表内核关闭
(2)worker_processes最多开启8个,8个以上性能就不会再提升了,而且稳定性会变的更低,因此8个进程够用了

配置Nginx多核CPU,worker_cpu_affinity使用方法和范例

1. 2核CPU,开启2个进程


worker_processes     2;
worker_cpu_affinity 01 10;

01表示启用第一个CPU内核,10表示启用第二个CPU内核
worker_cpu_affinity 01 10;表示开启两个进程,第一个进程对应着第一个CPU内核,第二个进程对应着第二个CPU内核。
2. 2核CPU,开启4个进程

worker_processes     4;
worker_cpu_affinity 01 10 01 10;

开启了四个进程,它们分别对应着开启2个CPU内核

worker_rlimit_nofile65535;

这个指令是指当一个nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文
件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。

现在在linux2.6内核下开启文件打开数为65535worker_rlimit_nofile就相应应该填写65535



nginx服务配置

nginx服务配置

vim /usr/local/lnmp/nginx/conf/nginx.conf

nginx服务配置


vim /etc/security/limits.conf

nginx服务配置


nginx服务配置nginx服务配置


vim nginx.conf

nginx服务配置

测试:

nginx服务配置



3.nginx证书认证

nginx服务配置


nginx服务配置

nginx服务配置nginx服务配置


nginx服务配置


4.访问控制

vim /usr/local/lnmp/nginx/conf/nginx.conf


       location /status {

                  stub_status on;

                  access_log off;

                  allow 172.25.20.250;

                  deny all;

          }

nginx服务配置

通过curl localhost/status进行测试查看

nginx服务配置nginx服务配置


5.访问重写

访问www.westos.org跳转到https//www.westos.org

server {

       listen 80;

       server_name www.westos.org;

        rewrite ^(.*)$ https://www.westos.org$1 permanent;

}

}

nginx服务配置nginx服务配置

$1可以让访问指定目录,permanent 永久 redirect 暂时

nginx服务配置nginx服务配置



6.nginx负载均衡

nginx的轮询机制

nginx服务配置nginx服务配置

 http {

      upstream westos {

      server 172.25.0.2:80;

      server 172.25.0.3.8080;

      Server 127.0.0.18000 backup

     }

注释rewrite

加上location / {

               proxy_pass http://westos;

        }

nginx服务配置nginx服务配置nginx服务配置nginx服务配置nginx服务配置




1>轮询(默认weight=1)
默认选项,当weight不指定时,各服务器weight相同,
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

upstream westos {    server 172.25.22.2:80;    server 172.25.22.3:8080;}

2>weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
如果后端服务器down掉,能自动剔除。
比如下面配置,则1.11服务器的访问量为1.10服务器的两倍。

upstream bakend {    server 172.25.22.2 weight=1;    server 172.25.22.3 weight=2;}

 

3>ip_hash
每个请求按访问iphash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。
如果后端服务器down掉,要手工down掉。

upstream resinserver{    ip_hash;    server 172.25.22.2:80;    server 172.25.22.3:8080;}

 当23的服务都down掉后,本地的服务就会顶上,显示信息

proxy_pass反向代理


相关文章:

  • 2021-05-20
  • 2022-12-23
  • 2021-05-16
  • 2022-12-23
  • 2021-11-20
  • 2021-09-09
  • 2021-12-25
猜你喜欢
  • 2022-01-04
  • 2022-03-09
  • 2022-12-23
  • 2020-10-20
  • 2021-04-08
  • 2021-06-29
  • 2021-12-24
相关资源
相似解决方案