LNMP网站框架搭建(yum方式安装)
内容预知
1.1 搭建nginx相关的yum源
1.2 刷新yum仓库,安装启动nginx服务
2. mysql的yum 安装
2.1 卸载一切与mysql有关的包
2.2 wget mysql相关的yum源
2.3 启动mysql服务并且做一些初步设置
2.4 停止版本更新,稳定数据库的运行
3. php的yum安装
3.1 获取php的相关yum源
3.2 安装相关的依赖拓展模块
3.3 nginx支持php的解析
4. lnmp的连接测试
4.1 nginx和php的连接测试
4.2 lnmp的连接测试
总结
1. nginx 的yum安装
1.1 搭建nginx相关的yum源
注意:本次安装所获得的软件包都是来源于httpd源(都是由该软件包厂商提供)。所以切记不能像往常一样直接使用本地源去安装一切包
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
1.2 刷新yum仓库,安装启动nginx服务
yum clean all && yum makecache
yum install nginx -y
nginx -v
systemctl start nginx
systemctl enable nginx
2. mysql的yum 安装
2.1 卸载一切与mysql有关的包
——为了新mysql版本的包做环境准备,以免老版本干扰新版本的植入
yum remove mariadb* -y
2.2 wget mysql相关的yum源
注意 : wget默认会将下载的安置在当前目录
cd /opt
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
(注意:当这一步执行完成以后,会在/etc/yum.repos.d中
生成mysql-community.repo 和mysql-community-source.repo )
yum -y install mysql-community-server
cd /etc/yum.repos.d
sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo
yum -y install mysql-community-server
附加:第二种方式(与上面可以二选一使用)
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
cd /etc/yum.repos.d
sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo
yum -y install mysql-server
2.3 启动mysql服务并且做一些初步设置
systemctl start mysqld.service
systemctl enable mysqld.service
systemctl status mysqld.service
yum安装的数据库初始密码的查看:
grep "password" /var/log/mysqld.log #在日志文件中找出root用户的初始密码
grep "password" /var/log/mysqld.log | awk '{print $NF}'
数据库密码修改
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123'; #密码设置要求有 大小写字母、数字和符号 组合
grant all privileges on *.* to root@"%" identified by "Admin@123" with grant option; #允许所有通过数据库密码访问的主机
flush privileges; #刷新数据库
2.4 停止版本更新,稳定数据库的运行
yum -y remove mysql57-community-release-el7-10.noarch #为了防止每次yum操作都会自动更新,卸载这个软件
3. php的yum安装
3.1 获取php的相关yum源
注意:下载保持好网络的畅通性。
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
3.2 安装相关的依赖拓展模块
yum -y install php72w \
php72w-cli\
php72w-common\
php72w-devel\
php72w-embedded\
php72w-gd\
php72w-mbstring\
php72w-pdo\
php72w-xml\
php72w-fpm\
php72w-mysqlnd\
php72w-opcache \
php72w-redis
systemctl start php-fpm
systemctl enable php-fpm
php -v
3.3 nginx支持php的解析
cd /etc/nginx/conf.d
//给default.conf 做一个备份,防止配置修改错误,无法还原
cp default.conf default.conf.bak
修改php的默认配置:
vim /etc/nginx/conf.d/default.conf
......
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; #将 /scripts 修改为nginx的工作目录
include fastcgi_params;
}
保存配置后并重启服务:
systemctl restart nginx
4. lnmp的连接测试
4.1 nginx和php的连接测试
创建php页面测试,进行访问测试
cd /usr/share/nginx/html
vim index.php
<?php
phpinfo();
?>
测试结果:
4.2 lnmp的连接测试
vim /usr/share/nginx/html/index.php
<?php
$link=mysqli_connect('192.168.80.10','root','Admin@123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
测试结果:
注意测试mysql的连接前一定要关闭firewalld和selinux(这俩是测试的万恶之源)
总结
1. yum搭建lnmp时,不需要特地的添加系统服务,但是会触及到下载相关yum源
2. yum搭建的lnmp占内存会更小一些。粗略计算过,源码编译搭建lnmp时消耗了10G的存储空间,yum大概在2-3G。
3.yum源搭建lnmp时,与本地源不同。需要向外获取资源,所以不能挪动原有yum默认配置,需要添加的直接进行添加即可。
4.防火墙。本次实验中测试lnmp连接问题,起初连接失败,我将所有的默认配置,以及mysql的相关日志检查了一遍,并没有发现是设置或者主机配置的问题。最后关掉防火墙和selinux才,使得lnmp的连接顺利进行。(实验前关闭防火墙和selinux是不容忽略的因素)
小样x: 一直跟着到3->5,进行客户机测试,但失败,我就选了k8s集群中,master以外的节点,配置了pod部署的对应节点ip,但是连不上,不知道有没有跟我一样的
yucfkyu: 怎么不更新了
站在这别动,我去给你买橘子: 检查一下你的win主机的防火墙是否关闭。再看看linux的firewalld和selinux是否关闭
Ynamev: 您好,我现在采用windows资源管理器用邮箱地址登陆时,反馈不允许匿名登陆或者不接受该邮箱地址 我的配置文件中允许匿名登陆,Linux 下FTP的状态也是正在运行,这是什么问题导致的呢?
Mranth: 小黑子漏出鸡脚了!