第十周作业

1. 完成nginx编译安装脚本

2. 完成nginx平滑升级,总结步骤

升级前访问连接
升级后访问连接


3. 总结nginx核心配置,并实现nginx多虚拟主机

Nginx的配置文件的组成部分:

主配置文件:nginx.conf
子配置文件: include conf.d/*.conf
主配置文件结构:四部分event,http,mail,stream(mail,stream配置使用较少)

nginx.conf基本结构

核心:全局配置和http配置块

全局配置段常见的配置指令分类:
    1.正常运行必备的配置
    2.优化性能相关的配置
    3.事件驱动相关的配置
    4.用于调试及定位问题相关的配置

实现nginx多虚拟机sever

在主配置文件的http配置块最后添加包含子配置目录 include /apps/nginx/conf/conf.d/*.conf;检查nginx语法成功后,重启nginx服务
在子配置文件目录中创建各自Server的配置文件,并各自对应的资源目录下创建index.html网页,检查nginx语法成功后,重启nginx服务
由于未设置DNS解析,可在客户端/etc/hosts文件中添加ip地址和域名,便于测试连接
测试访问连接

4. 总结nginx日志格式定制

Nginx的ngx_http_log_module模块可以实现日志的定制功能。log_format指令实现日志内容的自定义
access_log  logs/access.log main用与指定日志的引用,以及日志存放路径,和自定义的日志名称

错误日志一般只有一个,但访问日志可以根据不同的server来定义存放多个不同的访问日志

为方便后续做日志分析,可以自定义JSON格式方访问日志,以key:value的格式定义,也可以同时启用默认日志格式。存储两份访问日志

日志的定制格式内容log_format写在http配置块中,access_log引用写在需要生成该日志格式的server内

5. 总结 nginx反向代理及https安全加密

Nginx反向代理:客户端发起请求到内部的指定的服务器,服务器处理返回数据结果,Nginx将数据结果代表服务器返回给客户端。Nginx反向代理工作在七层,需要监听端口,并建立3握手。

https安全加密:https协议+ssl证书验证。客户端发送请求,服务器响应请求,并返回一个证书公钥。浏览器检查ssl证书有效性,用证书公钥加密生成私钥随机值,传送到服务器,用私钥解密获取客户端私钥随机值。后续通信内容即用私钥进行对称加密传输。

6. 实验完成基于LNMP和Redis的phpmyadmin的会话保持,记录完整步骤

部署规划:
10.0.0.100 做Nginx反向代理
10.0.0.101 部署nginx和php-fpm,phpmyadmin
10.0.0.102 部署nginx和php-fpm,phpmyadmin
10.0.0.200 部署MySQL数据库和redis数据库

1、在100,101,102三台主机上执行脚本编译安装nginx-1.24.0
      在101,102主机上安装php-fpm,php-mysql

2、在200主机上安装mysql-server和redis-server

创建管理mysql数据库的账号,并授权
vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改配置文件,使mysql数据库可以被远程连接
vim /etc/redis/redis.conf  修改配置文件,使redis数据库可以被远程连接

3、在100 Nginx代理机上配置七层代理

vim /apps/nginx/conf/conf.d/www.vxsin.com.conf  (需要在nginx主配置文件的http配置块中定义 include  /apps/nginx/conf/conf.d/*.conf)完成代理配置文件修改后重启nginx服务

4、在101,102 nginx服务器中定义主配置文件,定义php文件转给php-fpm处理,文件目录等

5、在/data/php目录中创建php测试页面

做php访问测试,显示该页面即php配置成功

6、准备phpmyadmin程序文件

将解压得到的文件全部移动到/data/php/目录中
修改该程序的配置文件,将sessions存储指向远程服务器200,如果将sessions文件保存在本地,负载均衡下登录phpmyadmin页面时sessions会话丢失,导致无法登录

7、将101主机中修改好的nginx服务配置文件,phpmyadmin程序文件拷贝到102主机中,所有配置文件更新后,都需要重启服务

8、打开浏览器访问查看。正常登录,并刷新页面不会退出,实现会话保持

当访问phpmyadmin页面登录时,redis数据库中可以查看到保存的sessions 文件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。