Centos 7如何利用yum安装apache+mysql 8+php7

发布时间:2021-07-08 17:42:44 作者:chen
来源:亿速云 阅读:303
# CentOS 7如何利用yum安装Apache+MySQL 8+PHP7

## 前言

在CentOS 7上搭建LAMP(Linux, Apache, MySQL/MariaDB, PHP)环境是Web开发者和系统管理员的常见需求。本文将详细介绍如何使用yum包管理器在CentOS 7上安装Apache Web服务器、MySQL 8数据库和PHP7,并配置它们协同工作。

---

## 一、准备工作

### 1.1 系统更新
在开始安装前,首先确保系统是最新的:

```bash
sudo yum update -y
sudo reboot  # 建议更新后重启

1.2 安装EPEL和Remi仓库

CentOS 7默认仓库中的软件版本较旧,我们需要添加EPEL和Remi仓库:

sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

1.3 启用Remi仓库

启用PHP7.4仓库(可根据需求选择其他版本):

sudo yum-config-manager --enable remi-php74

二、安装Apache Web服务器

2.1 安装Apache

sudo yum install -y httpd

2.2 启动并设置开机自启

sudo systemctl start httpd
sudo systemctl enable httpd

2.3 防火墙配置

允许HTTP/HTTPS流量:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

2.4 验证安装

浏览器访问http://your_server_ip,应看到Apache测试页。


三、安装MySQL 8

3.1 添加MySQL官方仓库

创建MySQL仓库文件:

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

3.2 安装MySQL 8

sudo yum install -y mysql-community-server

3.3 启动MySQL服务

sudo systemctl start mysqld
sudo systemctl enable mysqld

3.4 获取临时密码

sudo grep 'temporary password' /var/log/mysqld.log

3.5 安全配置

运行安全脚本:

sudo mysql_secure_installation

按提示操作,建议: 1. 修改root密码 2. 移除匿名用户 3. 禁止root远程登录 4. 移除测试数据库 5. 重新加载权限表


四、安装PHP7

4.1 安装PHP及常用扩展

sudo yum install -y php php-mysqlnd php-fpm php-gd php-json php-mbstring php-xml php-xmlrpc php-opcache php-zip

4.2 验证PHP安装

php -v

4.3 配置PHP

编辑主配置文件:

sudo vi /etc/php.ini

建议修改:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
date.timezone = Asia/Shanghai

4.4 重启Apache使PHP生效

sudo systemctl restart httpd

五、环境集成测试

5.1 创建测试页面

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

5.2 访问测试页面

浏览器访问http://your_server_ip/info.php,应显示PHP信息页,确认: - PHP版本正确 - MySQL模块已加载

5.3 MySQL连接测试

创建测试PHP文件:

sudo vi /var/www/html/mysql_test.php

内容:

<?php
$mysqli = new mysqli("localhost", "your_username", "your_password");

if ($mysqli->connect_error) {
    die("连接失败: " . $mysqli->connect_error);
}
echo "MySQL连接成功!";
?>

六、高级配置

6.1 Apache虚拟主机配置

示例配置:

sudo vi /etc/httpd/conf.d/example.com.conf

内容:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/error.log
    CustomLog /var/www/example.com/requests.log combined
</VirtualHost>

6.2 PHP-FPM配置

如需使用PHP-FPM:

sudo yum install -y php-fpm
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

6.3 MySQL性能调优

编辑MySQL配置文件:

sudo vi /etc/my.cnf

添加基础优化参数:

[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
query_cache_size = 64M

七、常见问题解决

7.1 软件包冲突

若遇到依赖问题,尝试:

sudo yum clean all
sudo yum install -y --skip-broken package_name

7.2 PHP模块缺失

搜索可用模块:

sudo yum search php- | grep module_name

7.3 MySQL连接问题

检查用户权限:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

八、安全加固建议

  1. 定期更新

    sudo yum update -y
    
  2. 禁用危险PHP函数: 在php.ini中添加:

    disable_functions = exec,passthru,shell_exec,system
    
  3. 配置Apache安全

    ServerTokens Prod
    ServerSignature Off
    
  4. MySQL安全

    • 定期更改密码
    • 限制远程访问
    • 启用二进制日志审计

结语

通过本文的步骤,您已在CentOS 7上成功搭建了现代化的LAMP环境。这个环境适合运行大多数PHP应用程序,包括WordPress、Laravel等流行框架。建议定期维护和更新各组件以确保安全稳定。

注意:生产环境应考虑使用更严格的安全配置,并定期备份重要数据。

附录: - Apache官方文档 - MySQL 8文档 - PHP官方手册 “`

注:本文实际约2500字,要达到3500字可扩展以下内容: 1. 每个组件的详细配置参数说明 2. 性能优化章节(包括压力测试方法) 3. 具体应用部署示例(如WordPress) 4. 备份恢复方案 5. 监控方案(如Prometheus+Granfa) 6. 更详细的安全加固措施

推荐阅读:
  1. CentOS 6 下RPM方式安装MySQL5.6
  2. centos 5.8 编译安装 percona server 5.6.33

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos php apache

上一篇:CSS 中如何使用absolute绝对定位属性

下一篇:eclipse启动maven插件加载报错怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》