CentOS7.9+Nginx1.20+PHP8.1+MySQL5.7运行环境搭建部署
操作系统:CentOS7.9
Nginx版本:Nginx1.20.1
PHP版本:PHP8.1.29
MySQL版本:MySQL5.7.44
一、Nginx安装
1、列出可用的Nginx包:
[root@localhost /]# yum list|grep nginx
2、安装Nginx
[root@localhost /]# yum install nginx.x86_64
3、启动Nginx
[root@localhost nginx]# systemctl start nginx
4、查看Nginx运行状态
[root@localhost nginx]# systemctl status nginx
5、将Nginx加入开机自动启动
[root@localhost nginx]# systemctl enable nginx
6、查看Nginx服务是否在开机自动列表中
[root@localhost nginx]# systemctl list-unit-files --type=service|grep enabled
7、修改Nginx服务默认端口为81
[root@localhost nginx]# cd /etc/nginx/
[root@localhost nginx]# vi nginx.conf
将
listen 80;
listen [::]:80;
改为
listen 81; #因系统80端口已被占用,故改为81,如果80端口可用这里不改也可以
listen [::]:81;
重启nginx
[root@localhost nginx]# systemctl restart nginx
8、防火墙开放81端口
查看当前防火墙规则:
[root@localhost log]# firewall-cmd --list-all
开放指定的端口(以开放TCP端口81为例),以便于网络访问数据:
firewall-cmd --zone=public --add-port=81/tcp --permanent
重新加载防火墙以应用更改:
firewall-cmd --reload
9、通过浏览器访问:http://192.168.0.201:81 能正常访问显示,表明Nginx安装成功
二、PHP8.1安装
1、查看可安装的PHP包
[root@localhost ~]# yum list available|grep php
查询结果中没有需要的php版本,通过更换为第三方软件仓库,获取所需版本
先备份原软件仓库镜像源
[root@localhost ~]# cp -r yum.repos.d /etc/yum.repos.d.backup202408061035
安装第三方Remi软件源
切换到yum.repos.d目录
[root@localhost etc]# cd yum.repos.d
安装epel源
[root@localhost yum.repos.d]# yum install -y epel-release
安装remi源
[root@localhost yum.repos.d]# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
查看安装情况:
[root@localhost yum.repos.d]# ll
总用量 100
-rw-r--r--. 1 root root 2523 8月 5 17:27 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 11月 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 11月 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 11月 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 11月 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 11月 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 11月 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 11月 23 2020 CentOS-x86_64-kernel.repo
-rw-r--r--. 1 root root 951 10月 3 2017 epel.repo
-rw-r--r--. 1 root root 1050 10月 3 2017 epel-testing.repo
-rw-r--r--. 1 root root 855 11月 28 2023 remi-modular.repo
-rw-r--r--. 1 root root 456 11月 28 2023 remi-php54.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php70.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php71.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php72.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php73.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php74.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php80.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php81.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php82.repo
-rw-r--r--. 1 root root 1314 11月 28 2023 remi-php83.repo
-rw-r--r--. 1 root root 2605 11月 28 2023 remi.repo
-rw-r--r--. 1 root root 750 11月 28 2023 remi-safe.repo
再次查看可安装的PHP包
[root@localhost ~]# yum list available|grep php
2、安装php81.x86_64
[root@localhost]# yum install php81.x86_64
查看PHP安装版本:
[root@localhost]# php81 -v
PHP 8.1.29 (cli) (built: Jun 5 2024 05:51:57) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.29, Copyright (c) Zend Technologies
报错信息:
Forbidden
You don't have permission to access /phpinfo.php on this server.
处理办法:
关闭SELinux
临时关闭:setenforce 0 重启系统后恢复原状
永久关闭:
编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,保存并重启系统后,SELinux就会被永久关闭
3、php-fpm安装
查看php-fpm安装包
[root@localhost]# yum list available|grep php-fpm
安装php81-php-fpm.x86_64
[root@localhost]# yum install php81-php-fpm.x86_64
启动php81-php-fpm
[root@localhost]# systemctl start php81-php-fpm
查看php81-php-fpm运行状态
[root@localhost]# systemctl status php81-php-fpm
用list-unit-files查看自启动列表,查看php-fpm是否随系统启动
[root@localhost]# systemctl list-unit-files|grep php81-php-fpm
将php81-php-fpm服务配置为随系统启动
[root@localhost]# systemctl enable php81-php-fpm
其它php扩展安装
msyql支持扩展:
yum install php81-php-gd.x86_64 php81-php-mbstring.x86_64 php81-php-mysqlnd.x86_64 php81-php-pdo.x86_64
查看扩展是否安装成功
[root@localhost /]# yum list installed|grep php
查看php安装的模块:
[root@localhost /]# php81 -m|grep mysql
三、MySQL5.7安装
1、查看MySQL5.7安装包
[root@localhost]# yum list available|grep mysql
无相关可安装包
安装MySQL官方 yum源:
rpm -Uvh http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
2、安装MySQL5.7
[root@localhost /]# yum install mysql-community-server.x86_64
安装报以下错误
mysql-community-libs-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装
处理方法:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再次安装
[root@localhost /]# yum install mysql-community-server.x86_64
安装成功
3、安装完成,本地登录MySQL,先通过以下方式获取MySQL默认密码:
[root@localhost /]# grep 'temporary password' /var/log/mysqld.log
mysql57-community 默认密码:/n&kozyep4*E 通过查询msyql日志获取
4、本地登录mysql
[root@localhost /]# mysql -u root -p
5、登录后,先修改root默认密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; 新密码:D8fB!ZP&rZmCS
添加IP授权:
grant all privileges on *.* to 'root'@'192.168.0.%' identified by 'D8fB!ZP&rZmCS';
grant all privileges on *.* to 'forge'@'192.168.0.%' identified by 'D8fB!ZP&rZmCS';
grant all privileges on *.* to 'forge'@'localhost' identified by 'D8fB!ZP&rZmCS';
刷新权限列表:
flush privileges;
6、将mysql服务配置随系统启动
[root@localhost]# systemctl enable mysqld
7、查看当前防火墙规则:
[root@localhost log]# firewall-cmd --list-all
开放指定的端口(以开放TCP端口3306为例),以便于网络访问数据:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载防火墙以应用更改:
firewall-cmd --reload
四、Nginx与PHP整合配置
通过修改nginx.conf文件实现
切换到/etc/nginx目录下
[root@localhost nginx]# cd /etc/nginx
[root@localhost nginx]# vi nginx.conf
server{} 配置段时加入
index index.php
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启Nginx
[root@localhost nginx]# systemctl restart nginx