4.50 Nginx负载均衡
什么是负载均衡?
负载均衡就是: 把请求均衡地分发到后端的各个机器上面。 比如,A B C D 四台WEB服务器。
现在E要访问这4台服务器
F为Nginx反向代理服务器
可以让F把E的请求均衡地发送到A B C D 4台服务器上。
配置:
upstream apelearn
{
ip_hash;
server 115.159.51.96:80 weight=100;
server 47.104.7.242:80;
}
server
{
listen 80;
server_name www.apelearn.com;
location /
{
proxy_pass http://apelearn;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
图解负载均衡配置
4.51配置Nginx的SSL
Nginx的SSL
让Nginx实现用https来访问网站。http是80端口,https是443端口。 https其实就是一种加密的http。
为什么要加密
举例:咱们要在网上银行汇款,在你汇款过程当中,你会输入银行卡的密码。如果不加密,这些数据在传输过程中就有可能被人 截获。
如果使用了https,那么数据在传输过程中是会加密的。即使抓到了数据包,但是无法破解出来。
知识点:
http 1.1 http 2 (https)
申请证书:
网站:www.wosign.com (沃通)
免费的:freessl.org
注册账号,输入域名,开始申请,在这个过程中需要去加一条TXT的记录
配置:
ssl on;
ssl_certificate /path/to/xxx.crt;
ssl_certificate_key /path/to/xxx.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
扩展链接: >https://github.com/aminglinux/nginx/tree/master/ssl
4.52配置php-fpm
PHP-FPM配置文件路径:
/usr/local/php-fpm/etc/php-fpm.conf
包含了一个目录 php-fpm.d/*.conf
www.conf 就是其中子配置文件
www.conf配置讲解
pool 名字: [www]
可以自定义,启动后,ps aux |grep php-fpm 看最右侧,就是pool的名字
listen #指定监听的IP:port或者socket地址
这个地址需要和nginx配置文件里面的那个fastcgi_pass所制定的地址一致,否则就会502
如果监听的是socket文件,那么要保证nginx服务用户(nginx)对该socket文件有读写权限,否则502
listen.mode #指定socket文件的权限
pm = dynamic #动态模式
pm.max_children = 5 #最大进程数
pm.start_servers = 2 #启动几个子进程
pm.min_spare_servers = 1 #空闲时,最少不能少于几个子进程
pm.max_spare_servers = 3 #空闲时,最多不能多于几个子进程
php_flag[display_errors] = off #是否在网页显示错误信息
php_admin_value[error_log] = /var/log/fpm-php.www.log #错误日志地址
php_admin_flag[log_errors] = on #是否记录错误日志
php_admin_value[error_reporting] = E_ALL #错误日志级别(pnp.ini文件内有有关错误日志级别的相关规定)