部署 LNMP 环境
部署 LNMP 环境
一、前言
- 系统:CentOS 7
二、安装 Nginx1.24
centos7 的包目录:Index of /packages/rhel/7/x86_64/RPMS/ (nginx.org)
安装 nginx1.24
sudo yum install -y http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm
运行以下命令,查看 Nginx 版本。
nginx -v
开机启动
sudo systemctl start nginx
sudo systemctl enable nginx
检查状态
sudo systemctl status nginx
设置 nginx 目录权限
sudo chown -R nginx:nginx /usr/share/nginx/html
sudo chmod -R 755 /usr/share/nginx/html
三、安装 MySQL
3.1 安装 MySQL 服务
添加 mysql 仓库
# 备份原始的 yum 配置文件
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 下载阿里云的 yum 源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清理 yum 缓存并重新生成缓存
sudo yum clean all
sudo yum makecache
安装 mysql 服务
# 导入 MySQL 的 GPG 公钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 安装服务
sudo yum install mysql-community-server
运行以下命令,查看 MySQL 版本号。
mysql -V
启动 mysql 服务
sudo systemctl start mysqld
设置开机自启
sudo systemctl enable mysqld
sudo systemctl daemon-reload
3.2 配置 MySQL
运行以下命令,查看 /var/log/mysqld.log
文件,获取并记录 root 用户的初始密码。
sudo grep 'temporary password' /var/log/mysqld.log
初始密码:eTIvQFqk)8yq
执行命令进行 MySQL 安全配置
sudo mysql_secure_installation
输入旧的密码后(可以粘贴),输入新密码,确认密码(都可以粘贴),#输入新密码。长度为 8 至 30 个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号包含()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
新密码:MySQL133233+-
- 输入 y ,确认使用新密码。
- 再次输入新密码
- 再次确认新密码
- 输入 y,再次确认使用新密码
- 输入 Y 删除匿名用户。
- 输入 Y 禁止使用 root 用户远程登录 MySQL。
- 输入 Y 删除 test 库以及用户对 test 库的访问权限。
- 输入 Y 重新加载授权表。
创建用户
登录数据库:
mysql -u root -p
查看所有权限:show grants for 用户名;
创建开发用户:devUser,并允许所有登录:
CREATE USER 'devUser'@'%' IDENTIFIED BY 'devUser';
给 devUser 授予开发库所有权限:(需要先建立对应数据库)
create database `<database>` charset utf8;
GRANT ALL PRIVILEGES ON `<database>`.* TO 'devUser';
四、安装 PHP
4.1 安装 PHP
查看是否安装 PHP:
php -v
卸载已安装的 php(如果有)
yum remove -y php*
设置 php 安装源
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
单独开启 PHP8.3 版本
sudo yum-config-manager --disable 'remi-php*'
sudo yum-config-manager --enable remi-php83
如果提示:
yum-config-manager: command not found
则先执行下述命令再重新执行
yum -y install yum-utils
安装 php
sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring
检查 php 版本
php -v
开机启动 PHP
systemctl start php-fpm
sudo systemctl enable php-fpm.service
4.2 更改 php 默认用户、用户组
php 默认的用户和组是 apache,这里改为 nginx
vim /etc/php-fpm.d/www.conf
按 Esc
退出编辑模式,输入 :wq
保存退出
重新加载 php-fpm
systemctl reload php-fpm
五、测试访问 LNMP 配置信息页面(可选)
备份 Nginx 配置文件。
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.back
修改 Nginx 的默认配置
sudo vim /etc/nginx/conf.d/default.conf
找到 server,按 i
进入编辑模式,修改如下配置信息,如下,根目录为 /usr/share/nginx/html
按 Esc
退出编辑模式,输入 :wq
保存退出
重新加载 nginx 配置
sudo systemctl reload nginx
在网站根目录下新建 php 测试页面
sudo vim /usr/share/nginx/html/phpinfo.php
按 i
进入编辑模式,输入一下内容:
<?php echo phpinfo(); ?>
按 Esc
退出编辑模式,输入 :wq
保存退出
打开浏览器,在地址栏输入 http://<你的ip地址>/phpinfo.php
,显示出 php 的信息即可
注,如果无法访问,检查防火墙 80 端口是否开放
将 phpinfo.php
文件删除,消除数据泄露风险。
sudo rm -rf /usr/share/nginx/html/phpinfo.php