LNMP架构配置命令与搭建论坛
- LNMP简介
- 安装须知
- 安装 Nginx
- 配置yum源
- yum安装nginx并查看版本号
- 开启服务并且设为开机自启
- 安装 MySQL 5.7 (mariadb)
- 移除软件包
- 下载安装mysql
- 安装MySQL报错问题
- 解决方案:
- 开启服务并设为开机自启
- 在日志文件中找出root用户的初始密码
- 登录 mysql
- 密码设置要求有 大小写字母、数字和符号 组合
- 授权远程登录
- 刷新数据库
- 退出mysql
- 为了防止每次yum操作都会自动更新,卸载这个软件
- 安装 PHP7.2
- 安装rpm包并覆盖原来的包
- 安装php
- 开启服务并设置为自启
- 查看php安装包信息
- 配置 nginx 支持 PHP 解析
- 写入index.php
- 重启服务
- 测试mysql是否能连接成功
LNMP简介
LNMP指的是在Linux 操作系统中分别安装Nginx网页服务器、MySQL数据库服务器和PHP开发服务器,以及一些对应的扩展软件。
LNMP简单说就是:Linux+Nginx+MySQL+PHP。
相较于LAMP,LNMP使用Nginx 网页服务器取代了Apache网页服务器。Nginx是一款高性能的HTTP网页服务器和反向代理服务器,它的执行效率极高,配置相比Apache也较为简单,所以在短时间内被国内外很多大型公司所采用,大有取代 Apache 的势头(目前Apache和Ngnix使用量基本持平),这也是本文采用LNMP的原因。
安装须知
在一台linux虚拟机中部署LNMP
安装 Nginx
配置yum源
[root@lnmp ~]# 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
yum安装nginx并查看版本号
[root@lnmp ~]# yum install nginx -y
[root@lnmp ~]# nginx -v
开启服务并且设为开机自启
[root@lnmp ~]# systemctl start nginx
[root@lnmp ~]# systemctl enable nginx
页面访问成功
安装 MySQL 5.7 (mariadb)
移除软件包
[root@lnmp ~]# yum remove mariadb* -y
下载安装mysql
[root@lnmp ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
[root@lnmp ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
[root@lnmp ~]# yum -y install mysql-community-server
安装MySQL报错问题
出现问题原因
如果使用的4.1以上版本的rpm的话,除了import mysql的公钥到个人用户的配置中,还需要import mysql的公钥到RPM的配置中
解决方案:
[root@lnmp ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
## 重新安装
[root@lnmp ~]# yum -y install mysql-community-server
开启服务并设为开机自启
[root@lnmp ~]# systemctl start mysqld.service
[root@lnmp ~]# systemctl enable mysqld.service
在日志文件中找出root用户的初始密码
[root@lnmp ~]# grep "password" /var/log/mysqld.log
2023-05-27T11:51:20.800807Z 1 [Note] A temporary password is generated for root@localhost: loI_u&kgo3hq
登录 mysql
[root@lnmp ~]# mysql -u root -p
## 初始密码:loI_u&kgo3hq
密码设置要求有 大小写字母、数字和符号 组合
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123';
Query OK, 0 rows affected (0.00 sec)
授权远程登录
mysql> grant all privileges on *.* to root@"%" identified by "Admin@123" with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
退出mysql
mysql> quit
Bye
为了防止每次yum操作都会自动更新,卸载这个软件
[root@lnmp ~]# yum -y remove mysql57-community-release-el7-10.noarch
安装 PHP7.2
安装rpm包并覆盖原来的包
[root@lnmp ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@lnmp ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装php
[root@lnmp ~]# 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
开启服务并设置为自启
[root@lnmp ~]# systemctl start php-fpm
[root@lnmp ~]# systemctl enable php-fpm
查看php安装包信息
[root@lnmp ~]# php -v
PHP 7.2.34 (cli) (built: Oct 1 2020 13:37:37) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.34, Copyright (c) 1999-2018, by Zend Technologies
配置 nginx 支持 PHP 解析
[root@lnmp ~]# cd /etc/nginx/conf.d
[root@lnmp conf.d]# vim 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;
include fastcgi_params;
}
写入index.php
[root@lnmp conf.d]# cd /usr/share/nginx/html
[root@lnmp html]# vim index.php
<?php
phpinfo();
?>
重启服务
[root@lnmp html]# systemctl restart nginx
访问网站:http://20.0.100/index.php
测试mysql是否能连接成功
[root@lnmp html]# vim index.php
<?php
$link=mysqli_connect('20.0.0.100','root','Admin@123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
访问网站:http://20.0.100/index.php