搭建Rocky Linux8+Nginx+Php+Mysql+Redis 服务器

运维 · zhangchao1 · 于 2年前 发布 · 2727 次阅读

初始化系统

查看Linux发行版本

lsb_release -a

确保所有内容都已更新

yum update -y

安装基本实用程序包,其中一些可能已经安装

dnf install wget curl nano unzip yum-utils -y

设置系统开机进入命令行界面,获取当前默认的target

systemctl get-default

graphical.target:表示开机将默认进入图形界面 multi-user.target:表示开机将默认进入文本界面 执行系统开机进入命令行界面

systemctl set-default multi-user.target

检查设置是否成功

systemctl get-default

配置防火墙

第一步是配置防火墙,Rocky Linux使用Firewalld Firewall,检查防火墙的状态

firewall-cmd --state

防火墙适用于不同的区域,公共区域是我们将要使用的默认区域,列出防火墙上处于活动状态的所有服务和端口

firewall-cmd --permanent --list-services

允许 HTTP 和 HTTPS 和 MYSQL端口

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=mysql

重新检查防火墙的状态

firewall-cmd --permanent --list-services

重新加载防火墙以启用更改

firewall-cmd --reload

设置时区为上海

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

Linux中关闭SELinux

临时关闭:重启系统后还会开启

setenforce 0

永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出。

重启系统

reboot

安装NGINX

Rocky Linux附带了旧版本的Nginx,您需要下载官方Nginx存储库才能安装最新版本 创建并打开用于创建官方Nginx存储库的文件,/etc/yum.repos.d/nginx.repo

vi /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

执行安装

dnf install -y nginx

检查安装状态

nginx -v

设置隐藏NGINX版本号,在nginx.conf文件找到http{}字段址其中加入:server_tokens off;

启用并启动 Nginx 服务

systemctl enable nginx --now

安装 PHP 和扩展

对于我们的教程,我们需要使用Remi的存储库安装最新版本的PHP,第一步是获取Epel存储库

dnf install -y epel-release

接下来,安装 Remi 存储库

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

检查可用的 PHP 流

module list php -y

默认版本为 7.2,启用 Remi 的 PHP 7.4 存储库

dnf module reset php
dnf module enable php:remi-7.4

接下来,安装Neos所需的PHP及其扩展以及ImageMagick

dnf install -y php-fpm php-mbstring php-xml php-curl php-mysqlnd php-zip php-cli php-imagick ImageMagick php-intl

验证安装

php --version

打开php.ini设置隐藏PHP版本号

expose_php = Off;

配置开机启动PHP-FPM

systemctl enable php-fpm.service

启动PHP-FPM

systemctl start php-fpm.service

查看PHP-FPM

安装Mysql CE (官方源)

禁用系统mysql模块

dnf module disable mysql

转到https://dev.mysql.com/downloads/repo/yum/ 上的MySQL Yum存储库的下载页面 下载最新适合对版本,本文使用Red Hat Enterprise Linux 8 / Oracle Linux 8 (Architecture Independent), RPM Package

cd ~
wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm

安装源

rpm -Uvh mysql80-community-release-el8-3.noarch.rpm

安装mysql

dnf install -y mysql-community-server

启用并启动mysql

systemctl enable mysqld --now

MySQL服务器初始化 自MySQL 5.7起:在服务器初次启动时,假定服务器的数据目录为空,则会发生以下情况:

服务器已初始化 SSL证书和密钥文件在数据目录中生成 该validate_password插件安装并启用 root'@'localhost' 创建 一个超级用户帐户,设置超级用户的密码并将其存储在错误日志文件中,要显示它请使用以下命令:

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

通过使用生成的临时密码登录并尽快更改超级用户帐户的root密码,以更改root密码:

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

注意 MySQL的 validate_password 插件默认安装,这将要求密码至少包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码总长度至少为8个字符 密码验证部分,mysql 8 默认采用 caching_sha2_password,连接失败的情况可以参考:MySQL8.0登录提示caching_sha2_password问题解决方法

安装Redis

dnf install redis -y

配置开机启动

systemctl enable redis.service

启动

systemctl start redis.service

检查状态

安装必要工具

安装composer

dnf install -y composer

安装编辑器

dnf install -y nano vim

网络工具

yum install -y net-tools

其他工具

dnf install -y unzip git
共收到 1 条回复

有笔误的地方

检查可用的 PHP 流

module list php -y

应该是

dnf module list php
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册