1.nginx和apache的对比
nginx是轻量级服务器,apache是重量级服务器
nginx适合处理静态页面,apache比较适合动态页面
nginx抗并发能力比较好
apache稳定性比较好
2.nginx下载
添加epel网络源
[local] name=local enabled=1 gpgcheck=0 baseurl=file:///mnt [epel] name=epel enabled=1 gpgcheck=0 baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/ yum install nginx -y
启动nginx,需要关闭占用80端口的程序
3.nginx配置文件
vim /etc/nginx/nginx.conf 192.168.64.4 location/admin{ } 192.168.64.4/admin
4.匹配规则
=
^~#一般匹配一个目录
~#区分大小写
~*#不区分大小写
/admin
5.反向代理(动静分离)
192.168.64.4主服务器
192.168.64.5静态节点
192.168.64.7动态节点
root /var/www/html;(网站根目录)
index index.html;(默认首页文件)
1)在主服务器上部署nginx并设置动静分离规则
location ~html$ { proxy_pass http://192.168.64.5; (静态节点) } location ~php$ { proxy_pass http://192.168.64.7; (动态节点) }
2)检查语法重启Nginx
nginx -t
systemctl restart nginx
3)配置静态服务器
略
4)配置动态服务器
[root@ken html]# yum install php httpd -y vim /var/www/html/index.php <?php phpinfo(); ?>
5)主服务器设置
location /admin{ proxy_pass http://192.168.64.4; }
不完全代理:
如果不加斜线上面location表示的含义是请求http://192.168.64.4/admin,这样的话在客户端admin文件或者目录必须存在!
完全代理:
如果加斜杆上面location表示的含义是请求http://192.168.64.4/admin,但是在客户端admin文件或者目录不需要存在!
6.负载均衡
主要参数:
weight:服务器权重
max_fails:设置连续几次转发失败就认为该节点出现故障,就不再向该节点发送用户请求
fail_timeout:设置等待上游服务器响应超时时间(默认单位为秒)
upstream ken{ server 192.168.64.4 weight=5 max_fails=2 fail_timeout=3; server 192.168.64.5 weight=5 max_fails=2 fail_timeout=3; }
配置文件中修改:
location / { proxy_passhttp://ken; } server { root /var/www/html; index index.html; }
7.LNMP架构上线网站
1)下载所需安装包
yum install php php-mysql nginx mariadb-server php-fpm -y
2)修改配置文件
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /var/www/html; index index.php index.html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } location ~ php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; }
3)数据库配置文件:
[root@kenhtml]#cp wp-config-sample.php wp-config.php [root@kenhtml]#vim wp-config.php /**WordPress数据库的名称*/ define(‘DB_NAME’,‘litong’); /**MySQL数据库用户名*/ define(‘DB_USER’,‘litong’); /**MySQL数据库密码*/ define(‘DB_PASSWORD’,‘123’);
4)配置数据库
create database ken;
grant all on*.*to ken@’localhost’ identified by ‘123’;