在 CentOS 7 上安装 LNMP 环境,并配置 MySQL 8.0、PHP 8.3 以及 ThinkPHP 8.0,能够为你的 web 应用程序提供一个强大的开发和运行环境。下面是详细的安装步骤:
---
## 在 CentOS 7 上安装 LNMP 环境:MySQL 8.0、PHP 8.3 和 ThinkPHP 8.0
查看本机系统
cat /etc/os-release
### 0. 通过lnmp一键安装
0.1 看到lnmp官网已经支持php8.3,所以打算用一键安装包,下载,按照提示安装
0.2,等到安装最后,发现失败,于是放弃这个方案
卸载命令
cd lnmp2.1/
./uninstall.sh
### 1. 更新系统
确保系统包是最新的:
sudo yum update -y
### 2. 安装 Nginx
Nginx 是高效的 Web 服务器。安装步骤如下:
1. **添加 EPEL 仓库:**
sudo yum install -y epel-release
2. **安装 Nginx:**
sudo yum install -y nginx
3. **启动并设置 Nginx 自启动:**
sudo systemctl start nginx
sudo systemctl enable nginx
4. **检查 Nginx 状态:**
sudo systemctl status nginx
### 3. 安装 MySQL 8.0
MySQL 8.0 是一个强大的关系型数据库管理系统。安装步骤如下:
1. **下载并安装 MySQL Yum 仓库:**
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2. **安装 MySQL 8.0:**
sudo yum install -y mysql-server
3. **启动并设置 MySQL 自启动:**
sudo systemctl start mysqld
sudo systemctl enable mysqld
4. **获取临时 root 密码:**
sudo grep 'temporary password' /var/log/mysqld.log
5. **运行安全配置脚本:**
sudo mysql_secure_installation
按照提示设置 root 密码,并完成其他安全设置。
### 4. 安装 PHP 8.3
PHP 8.3 是最新的 PHP 版本。按照以下步骤安装 PHP 8.3:
1. **安装 Remi 仓库:**
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
2. **启用 PHP 8.3 仓库:**
sudo yum-config-manager --enable remi-php83
3. **安装 PHP 8.3 及常用扩展:**
sudo yum install -y php php-fpm php-mysqlnd php-pdo php-gd php-mbstring php-xml
由于缺少一些扩展,打算单独安装
安装失败的方法 sudo pecl install xmlrpc
按照提示优化 ,最后还是失败 sudo pecl install channel://pecl.php.net/xmlrpc-1.0.0RC3
最后有效的方法 yum 安装php8.3的xmlrpc依赖:
sudo yum install php php-xmlrpc
php -m | grep xmlrpc
soap和bcmath同理
sudo yum install php php-soap
php -m | grep soap
sudo yum install php php-bcmath
php -m | grep bcmath
文件地址/etc/php.d
可查看PHP依赖安装配置列表
4. **配置 PHP-FPM:**
编辑 `/etc/php-fpm.d/www.conf` 文件,将 `user` 和 `group` 设置为 `nginx`:
```bash
sudo nano /etc/php-fpm.d/www.conf
```
修改以下配置:
```ini
user = nginx
group = nginx
```
5. **启动并设置 PHP-FPM 自启动:**
```bash
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
```
6. **检查 PHP-FPM 状态:**
```bash
sudo systemctl status php-fpm
```
### 5. 配置 Nginx 支持 PHP
修改 Nginx 配置文件以支持 PHP:
1. **编辑 Nginx 配置文件:**
```bash
sudo nano /etc/nginx/conf.d/default.conf
```
2. **修改配置文件,添加 PHP 支持:**
在 `server` 块中,添加 PHP 支持配置:
```nginx
server {
listen 80;
server_name localhost;
# Location for PHP files
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
```
3. **测试 Nginx 配置:**
```bash
sudo nginx -t
```
如果没有错误,重新加载 Nginx:
```bash
sudo systemctl reload nginx
```
### 6. 安装 ThinkPHP 8.0
ThinkPHP 是一个流行的 PHP 框架。安装步骤如下:
1. **下载 ThinkPHP 8.0:**
使用 Composer 安装 ThinkPHP 8.0(确保系统上已安装 Composer,如果没有安装,请参见 Composer 官方网站的安装指南):
```bash
cd /usr/share/nginx/html
composer create-project topthink/think tp
```
2. **设置目录权限:**
```bash
sudo chown -R nginx:nginx /usr/share/nginx/html/tp
```
3. **测试 ThinkPHP 是否正常工作:**
在浏览器中访问 `http://your_server_ip/tp/public`,你应该能够看到 ThinkPHP 的欢迎页面。
### 7. 清理测试文件
完成所有测试后,可以删除不必要的测试文件以确保安全:
```bash
sudo rm /usr/share/nginx/html/info.php
```
### 总结
通过以上步骤,你已经在 CentOS 7 上成功安装并配置了 LNMP 环境,包括 MySQL 8.0、PHP 8.3 和 ThinkPHP 8.0。这一组合提供了强大的 Web 开发和运行环境,适用于各种 web 应用程序的开发和部署。