CentOS7 yum安装PHP7.4 NGINX Redis MySQL8

yum 安全 mysql8 php nginx centos7 运维 · qingqing · 于 2年前 发布 · 1871 次阅读

目标

创建一套运行php系统的服务器组, 由于评估结果未来访问量大,所以web服务和数据库分开到两台服务器中,拓扑图如下。

web服务器开放外网访问, 数据库服务器仅有内网访问。

环境要求:

  • PHP7.4.x
  • Mysql 8.x
  • NGINX 1.2.x
  • Redis 3.x

WEB 服务器(WEB Server)

系统配置

2、查看系统

查看Linux发行版本

lsb_release -a

这一步非常关键,我们要根据系统的版本来确定使用什么版本的软件,避免使用不当的软件出现未知错误。

2、更新系统

yum update -y

网络较慢情况下可以选择使用国内镜像源,在此使用的是腾讯源

2.1、删除原来的源,使用腾讯源

cd /etc/yum.repos.d/
rm -rf *
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

2.2、使用新源需要更新一下缓存

yum clean all
yum makecache

2.3、安装CentOS操作系统基本管理所需的一些基本软件包

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release

2.4、查看防火墙,查看防火墙,因为上层服务器已经开启防火墙,这里要求防火墙状态关闭即可

systemctl status firewalld

service firewalld start  //开启
service firewalld restart  //重启
service firewalld stop  //关闭

2.5、设置时区为上海

timedatectl list-timezones
sudo timedatectl set-timezone 'Asia/Shanghai'

安装 NGINX(官方源)

配置源

vim /etc/yum.repos.d/nginx.repo

写入以下内容:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

安装

yum install nginx -y

设置隐藏NGINX版本号

在nginx.conf文件找到http{}字段址其中加入:server_tokens off;

server_tokens off;

修改后见下图所示:

设置开机启动

sudo systemctl enable nginx.service

启动NGINX

sudo systemctl start nginx.service

NGINX安全优化

web安全是第一位的,接下来的初始化配置可以参考CentOS7 下 Nginx 安全加固配置规范

安装 PHP + PHP-FPM(第三方REMI源

安装EPEL 存储库配置包:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安装Remi 存储库配置包:

yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable   remi-php74
yum repolist

安装PHP

yum install php php-fpm php-mbstring php-cli php-json php-opcache php-zip php-xml php-gd php-ldap php-mysqli php-sqlite3 php-json php-dom php-bcmath php-intl php-mysqlnd php-pdo php-pecl-imagick -y

设置隐藏PHP版本号

在php.ini文件定位到含有expose_php的那行把On设成Off;

expose_php = Off;

设置开机启动

sudo systemctl enable php-fpm.service

启动PHP-FPM

sudo systemctl start php-fpm.service

安装 Redis

安装

yum install redis -y

设置redis开机启动

sudo systemctl enable redis.service

启动redis

sudo systemctl start redis.service

数据库服务器(DB Server)

系统配置

查看Linux发行版本

lsb_release -a

这一步非常关键,我们要根据系统的版本来确定使用什么版本的软件,避免使用不当的软件出现未知错误。

2、更新系统

yum update -y

网络较慢情况下可以选择使用国内镜像源,在此使用的是腾讯源

2.1、查看防火墙,因为上层服务器已经开启防火墙,这里要求防火墙状态关闭即可

systemctl status firewalld

2.2、设置时区为上海

timedatectl list-timezones
sudo timedatectl set-timezone 'Asia/Shanghai'

安装MySQL

Mysql这这里安装的是CentOS7 Mysql8.x,在Mysql官网选择正确的版本

安装

yum install https://repo.mysql.com//mysql80-community-release-el7-4.noarch.rpm
yum install mysql-server

设置开机启动

systemctl enable mysqld.service

启动Mysql

systemctl start mysqld.service

查看临时密码

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

登陆Mysql,设置新密码

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass4!';

配置数据库内网访问

update user set host='172.*' where user='root';
FLUSH PRIVILEGES; //立即生效

到这里,一套完整的php系统的服务器组已经搭建完成了。

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册