微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

网站架构LNMP

说明:

 1)LNMP架构的组成(作用)

2)LNMP架构的部署

3)LNMP架构通讯原理

4)LNMP服务之间如何建立管理

Nginx+PHP   运维负责

PHP+MysqL   开发负责


5) 运维人员代码上线 (www bbs blog)
*6) NFS服务和web服务


MysqL服务和web服务 (企业案例:数据库迁移方法)



1) Nginx服务的企业应用(Nginx模块)
a 实现网站页面目录索引功能 (yum仓库搭建)
b 实现网站访问别名功能 server_name
c 实现网站页面用户访问监控 keepalived_timeout 65s
HTTP请求报文: 请求头---connection: keepalived.../closed 短连接
HTTP响应报文: 响应头---connection: closed 短连接
VPN---无法访问外网/xshell无法远程连接
d 实现网站服务日志功能配置
错误日志: 错误日志级别
访问日志: 日志的格式信息 自动化分析日志(ELK 三个软件)
e 根据用户访问uri进行匹配处理
location = xxx 精确匹配 优先级01
location ^~ xxx 优先匹配 优先级02
location ~ 区分大小写匹配 优先级03
location ~* 不区分大小写 优先级03
location uri 根据uri进行匹配 优先级03
location / 认匹配 优先级最低
企业应用: 京东网站location应用 --- 11.11 12.12 6.18 --- 页面信息和平常不一样
有两个站点目录:
平常网站的站点目录 /html/jd-normal
节日网站的站点目录 /html/jd-teshu
location / { root /html/jd-normal }
location /特殊 { root /html/jd-teshu }
f 网站页面跳转功能
rewrite 匹配地址(url uri) 跳转成什么地址(url uri)
return 301 http://xxxx

02. 网站的LNMP架构是什么:
L --- linux系统
注意:
a selinux必须关闭 防火墙关闭
b /tmp 1777 MysqL服务无法启动

N --- Nginx服务部署
作用:
处理用户的静态请求 html jpg txt mp4/avi

P --- PHP服务部署
作用:
1. 处理动态的页面请求
2. 负责和数据库建立关系

M --- MysqL服务部署 (yum会很慢 编译安装会报错) mariadb
作用:
存储用户的字符串数据信息

03. 网站的LNMP架构部署
Nginx服务 --- ansible一键化部署 修改yum源
MysqL服务部署:
一个历程: 安装数据库软件
yum install mariadb-server mariadb -y

补充: 数据库初始化过程 MysqL_install_db
--basedir=path The path to the MariaDB installation directory.
指定MysqL程序目录
--datadir=path The path to the MariaDB data directory.
指定数据信息保存的目录
--user=MysqLMysqL管理数据目录 700

信息输出内容:
创建数据库密码信息:
PLEASE REMEMBER TO SET A PASSWORD FOR THE MysqL root USER !
To do so, start the server, then issue the following commands:
/application/MysqL/bin/MysqLadmin -u root password 'new-password' --- 给本地数据库设置密码
/application/MysqL/bin/MysqLadmin -u root -h web01 password 'new-password' --- 给远程数据库设置密码

第二个历程: 启动数据库服务
systemctl start mariadb.service
systemctl enable mariadb.service

第三个历程: 给MysqL数据库服务设置密码
MysqLadmin -u root password 'oldboy123' --- 设置密码
MysqL -u root -poldboy123

PHP服务部署流程:
一个历程: 更新yum源/卸载系统自带PHP软件
yum remove PHP-MysqL PHP PHP-fpm PHP-common
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

第二个历程: 安装PHP软件
yum install -y PHP71w PHP71w-cli PHP71w-common PHP71w-devel PHP71w-embedded PHP71w-gd PHP71w-mcrypt PHP71w-mbstring PHP71w-pdo PHP71w-xml PHP71w-fpm PHP71w-MysqLnd PHP71w-opcache PHP71w-pecl-memcached PHP71w-pecl-redis PHP71w-pecl-mongodb

第三个历程: 编写配置文件
vim /etc/PHP-fpm.d/www.conf
user = www Nginx---www
group = www
PS: 保证Nginx进程的管理用户PHP服务进程的管理用户保持一致

第四个历程: 启动PHP服务
systemctl start PHP-fpm

04. LNMP架构的原理
用户访问网站--->Nginx(fastcgi_pass) --FastCGI-->(PHP-fpm -- wrapper) PHP (PHP解析器) ---> MysqL(读取或写入)

05. 实现LNMP之间建立关系
1. 实现Nginx + PHP 建立关系
一个历程: 编写Nginx文件
编写Nginx配置文件
location ~ \.PHP$ {
root /www;
fastcgi_index index.PHP; url uri
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params; 变量配置文件
}
重启Nginx服务

第二个历程: 编写动态资源文件
[root@web01 conf.d]# cat /html/blog/test_PHP.PHP
<?PHP
PHPinfo();
?>

第三个历程: 进行访问测试
blog.oldboy.com/test_PHP.PHP
2. 实现PHP + MysqL 建立关系
编写PHP代码文件
[root@web01 blog]# vim test_MysqL.PHP
<?PHP
$servername = "localhost";
$username = "root";
$password = "oldboy123";
//$link_id=MysqL_connect('主机名','用户','密码');
//MysqL -u用户 -p密码 -h 主机
$conn = MysqLi_connect($servername, $username, $password);
if ($conn) {
echo "MysqL successful by root !\n";
}else{
die("Connection Failed: " . MysqLi_connect_error());
}
?>

06. 部署搭建网站页面(代码上线)
一个历程: 获取代码信息(git)---使用开源的网站代码
www网站页面: http://www.Dedecms.com/
bbs网站页面: http://www.discuz.net/forum.PHP
blog网站页面: https://cn.wordpress.org/
wecenter网站页面: http://www.wecenter.com/?copyright

第二个历程: 将代码解压,将解压后信息放入到站点目录中
tar xf wordpress-5.2.1.tar.gz
mv ...

第三个历程: 修改站点目录权限
chown -R www.www blog

第四个历程: 进行网站页面初始化操作

第五个历程: 对数据库服务进行配置
创建数据库: create databases wordpress;
检查: show databases;
创建数据库管理用户: grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
检查: select user,host from MysqL.user

第六个历程: 利用blog网站发布博文

总结:
1. LNMP架构的组成部分
2. LNMP架构的部署安装
3. LNMP架构的工作原理
4. LNMP架构的服务如何建立关系
Nginx --- PHP
PHP --- MysqL
5. 利用LNMP架构搭建了一个网站

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐