Only one搭建LNMP

LNMP

LNMP是Linux+Nginx+Mysql+PHP的组合方式

使用LNMP的主要原因还是因为Nginx体积小,方便后期对于网络的环境变换(灵活)、切换和方便调试,比较符合轻量级, 相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,也可作为负载均衡及反向代理服务器,做到动静分离

Only one也就是LNMP全部都安装在一台Linux服务器

PHP

PHP-logo

PHP

什么是PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

MySQL双主复制

MySQL主主复制


概念

主主复制:实际上与主从复制原理类似,就是两台mysql互为主从,既为主又为从

为什么,会有mysql的主主复制。因为在一些高可用的环境中,mysql的主从不能满足现实中的一些实际需求。比如,一些流量大的网站数据库访问有了瓶颈,需要负载均衡的时候就用两个或者多个的mysql服务器,而这些mysql服务器的数据库数据必须要保持一致,那么就会用到主主复制。

MySQL主从复制

MySQL主从复制


概念

主从复制:将主mysql上的数据复制到从mysql的过程(1主拖8从)

master为主服务器,slave为从服务器,数据属于单向流动,由主到从。

复制属于异步过程,因为在主服务器写入数据后,从服务器需要拉取主服务器的二进制日志来复制数据,中间存在拉取日志的时间间隔,所以是异步过程。

主从复制可以提高数据库的数据安全性,当主服务器宕机时,从服务器可以提供主服务器一样的数据,实现高可用。

MySQL单机多实例安装使用

MySQL多实例

多实例概念

在mysql3.25.15版本之后推出复制功能,复制意味着将一台服务器中的数据转移到另外一台或者多台服务器的过程

单机部署多个mysql,因为mysql占用资源少,体积小,所以如果一台服务器只安装一个mysql服务,会出现资源过剩的情况,可以将不同的mysql安装到不同的硬盘

MySQL复制流程

(1)主服务器将对于mysql更改的语句记录到二进制日志文件中(DDL,DML)也有一些DCL会被记录

(2)主服务器在确定授权用户之后,从服务器将主服务器的二进制日志复制到自己的中继日志中(relay-log)

(3)从服务器通过sql线程执行拉取到中继日志中的sql语句,将日志中的内容在从服务器重新执行一遍得到和主服务器一样的数据(事务)

部署MySQL

mysql

需要用到cmake和mysql的tar包,编译mysql需要使用cmake

解决依赖关系

yum -y install ncurses-devel

解压cmake并编译安装

Nginx虚拟主机

虚拟主机:可以在一台服务器部署多个不同页面

实验目的

使用一台nginx服务器,可以分别访问到多个页面,

使用虚拟主机的三种方法:相同ip不同端口,不同ip相同端口,不同域名相同ip

实验步骤

源码安装nginx

nginx官网下载

建议在安装之前检测80端口是否被占用netstat -anpt | grep 80

Nginx反向代理及负载均衡调优

Nginx反向代理的实现

nginx通过反向代理实现负载均衡需要两个模块:(默认在安装时已经添加)

ngx_http_proxy_module  # 代理模块
ngx_http_upstream_module    # 负载均衡模块

upstream www_server_pools {        # 开启负载均衡功能,命名为www_server_pools
      server 192.168.1.4 weight=1;        # 后端节点ip1
      server 192.168.1.5 weight=1;        # 后端节点ip2
        }

Nginx安装以及平滑升级

nginx


Nginx

概念

nginx(engine x)隐形X
属于高性能web反向代理服务器,同样也是高性能http服务器,同时还是IMAP/POP3/SMTP邮件服务器
功能丰富,且稳定,由C语言编写,距离操作系统较近,运行速度较快,消耗资源少,属于轻量级服务,支持高并发(50000)


与apache对比

1)nginx占用资源少,支持更多的并发连接,效率更高,如果一个成熟的nginx服务器,可以提供5W的并发连接响应
2)负载均衡服务器
nginx支持php,可以作为httpd代理服务器进行服务,用C语言编写,效率比apache要快
3)作为邮件代理服务器
nginx最早作为邮件服务器使用,性能高于apache
4)安装简单 在7*24小时高可用状态下,可以进行平滑升级(版本升级)

源码编译安装Apache

源码编译安装Apache

实验环境:

一台Liunx服务器,和一台客户机(windows,linux都可以),或者只使用本机访问验证也可以

实验目的:

安装apacheWeb服务,来达到搭建web应用,使用户通过网络访问到web页面

实验步骤:

第一步:将需要用tar解包的三个tar包拖到虚拟机。apr和apr-util用来调整并发量的工具

点击这里下载

第二步:配置ip

vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入网卡的配置文件

更改配置文件中以下两项

apache理论

s

Apache

端口http 80 https 443

1、安装apache(httpd)用到的模块

sso Moudule
并发限制模块
负载均衡模块
图像处理模块
压缩模块
音乐模块
LDAP 认证模块
带宽限制模块
CGI引擎包
※如果再后期使用过程中需要用到没有安装到的模块,可以进入apache的解压路径直接复制模块,或者重新编译添加模块
进行编译安装httpd是的安装模块
./configure –prefix=/usr/local/httpd
–enable-so 启用动态加载模块
–enable-charset-lite 启动字符集支持
–enable-cgi 启动cgi脚本程序
–enable-rewrite 启动网页地址重写

web和http协议


web和http协议

HTTP服务的重要基础

用户访问网站基本流程

我们每天都会使用Web客户端上网浏览网页。最常见的Web客户端就是Web浏览器,如通用的微软Internet Explorer ( IE),以及技术人员偏爱的火狐浏览器、谷歌浏览器等。当我们在Web浏览器里输入网站地址(例如: ssjinyao.com)时,很快就会看到网站的内容这一切似乎看起来很神奇,那么在其背后到底是怎样的实现流程呢?也许普通的上网者无需关注,但作为一个IT技术人员,特别是合格的Linux运维人员,就需要清晰的掌握了。

下面我们就来揭晓从客户端用户在Web浏览器里输入网站地址,到看到网站内容的完整访问流程。

DNS域名解析

一、DNS解析过程

用户输入网址开始进行搜索→本地hosts文件→LDNS→根域名服务器(.)→一级(顶级)域名服务器(.com)→二级域名服务器(.baidu.com)→三级域名服务器( www.baidu.com
1、客户端直接在本地解析对应的域名(通过hosts文件),如果找到对应网址,则直接输出对应页面
2、如果本地hosts文件中没有域名记录,系统将会把用户的网址请求交给LDNS,如果LDNS(local domain name system)服务器中本地存放了对应的ip地址直接解析。
3、如果LDNS服务器没有域名记录,将会从dns系统的根域服务器寻找对应网址的域名解析,针对各级dns服务器进行一系列查找,最终找到域名对应的服务器(IP地址)
4、baidu.com域名授权dns服务器会把 www.baidu.com 的IP地址发送到LDNS
5、LDNS将IP地址解析记录发送给客户端,并且存入缓存,方便用户下次寻找
6、客户端获取ip地址,然后浏览器得到页面,完成一次网络访问请求

windows客户端:




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0