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=0enabled=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 )
cd /etc/yum.repos.d
sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo
yum -y install mysql-community-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!!";
?>
总结
1. yum搭建lnmp时,不需要特地的添加系统服务,但是会触及到下载相关yum源
2. yum搭建的lnmp占内存会更小一些。粗略计算过,源码编译搭建lnmp时消耗了10G的存储空间,yum大概在2-3G。
3.yum源搭建lnmp时,与本地源不同。需要向外获取资源,所以不能挪动原有yum默认配置,需要添加的直接进行添加即可。
4.防火墙。本次实验中测试lnmp连接问题,起初连接失败,我将所有的默认配置,以及mysql的相关日志检查了一遍,并没有发现是设置或者主机配置的问题。最后关掉防火墙和selinux才,使得lnmp的连接顺利进行。(实验前关闭防火墙和selinux是不容忽略的因素)