1. 在一臺主機安裝nginx(192.168.136.120)
? ?1.1 搭建nginx相關的yum源
cd /yum.repos.d
mkdir bak
mv *.repo bak
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 安裝啟動nginx服務??
yum install nginx -y
nginx -vsystemctl start nginx
systemctl enable nginx
?
?
2. 在另一臺主機安裝mysql(192.168.136.130)
? ?2.1?wget mysql相關的yum源?
yum remove mariadb* -y #卸載一切與mysql有關的包cd /etc/yum.repos.dwget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo
yum -y install mysql-community-server
注意 : wget默認會將下載的安置在當前目錄
?
? 2.2?啟動mysql服務并且做一些初步設置?
systemctl start mysqld.service
systemctl enable mysqld.service
? ? 過濾出密碼并登錄,修改默認密碼?
grep "password" /var/log/mysqld.log #在日志文件中找出root用戶的初始密碼
2021-07-31T07:55:00.366359Z 1 [Note] A temporary password is generated for root@localhost: ga7%<d<0*jD&grep "password" /var/log/mysqld.log | awk '{print $NF}'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123'; #密碼設置要求有 大小寫字母、數字和符號 組合grant all privileges on *.* to root@"%" identified by "Admin@123" with grant option; #允許所有通過數據庫密碼訪問的主機
flush privileges; #刷新數據庫
? ?2.3 停止自動更新
yum -y remove mysql57-community-release-el7-10.noarch #為了防止每次yum操作都會自動更新,卸載這個軟件
?三、在第三臺主機安裝php(192.168.136.140)
? 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
systemctl start php-fpm
systemctl enable php-fpm #啟動服務和設置開機自啟
php -v #查看版本號,同時也可以測試php的基礎功能是否可以使用
這玩意我安裝太慢了,幾kb/s,沒貼圖??!!!
?3.3??nginx支持php的解析
cd /etc/nginx/conf.d
//給default.conf 做一個備份,防止配置修改錯誤,無法還原
cp default.conf default.conf.bak
? ?修改php的默認配置:
location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000; #本機連接fastcgi_index index.php;#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; #修改該配置,使其支持nginx的訪問設置include fastcgi_params;}nginx -t
?
? ? 保存配置后并重啟服務:?
systemctl restart nginx
四、LNMP的連接測試(192.168.136.120)
? ? ?4.1 nginx和php的連接測試
cd /usr/share/nginx/html
vim index.php
<?php
phpinfo();
?>
? ? ?4.2 測試mysql是否能連接成功
vim /usr/share/nginx/html/index.php
<?php
$link=mysqli_connect('192.168.136.120','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.在實驗之前關閉防火墻和selinux是一個不容忽視的因素。?