一、前言:

在搭建环境的过程中,笔者在网上看到了太多教程,各执一词,新手虽然能照猫画虎成功,但不明白背后的弯弯,难免会迷糊,所以结合搭建实际,总结了这篇教程。

二、安装前的准备-配置selinux和防火墙

1,临时(永久)关闭selinux

为什么要关闭selinux(centos默认开启的安全加强的linux,详细问度娘),避免selinux的默认文件权限的限制,导致安装失败。操作如下:
查看SELinux状态命令:
  命令:/usr/sbin/sestatus -v
  如果SELinux status参数为enabled即为开启状态,disable为关闭
关闭SELinux方法:
  临时关闭(本次安装使用的方法,不用重启机器,重启后恢复):
  命令:setenforce 0
永久关闭:修改配置文件需要重启机器:
  修改/etc/selinux/config 文件(小白请自学vim操作)
  将SELINUX=enforcing改为SELINUX=disabled
  重启机器,如下命令都可以:
  reboot
  shutdown -r
  init 1

2,配置防火墙-开启关闭相关端口

经典工具iptables可以灵活的定义防火墙规则,功能非常强大。但是配置过于复杂,对新手不友好。建议使用ubuntu发行版的UFW(Uncomplicated Firewall不复杂的防火墙)的防火墙配置工具。
安装命令:yum install ufw
使用方法比较简单了:
首先启用ufw:
sudo ufw enable
开启禁止一切外部连接:
sudo ufw default deny
开启ssh用的22端口:
sudo ufw allow 22
开启web服务的80端口:
sudo ufw allow 80
是不是非常简洁~
如果你是远程登陆服务器的方式,开启后可能会导致putty,xshell等工具无法ssh连接。处理方法,在阿里云(腾讯云)的实例管理界面中登录ssh并开启22端口即可。

三、nginx的安装

1,通过源安装(推荐):

Nginx官方提供了最新Yum源(1.16版),
执行命令添加源:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
执行下列命令安装Nginx
sudo yum install nginx
启动Nginx
sudo systemctl start nginx.service
设置开机自动运行
sudo systemctl enable nginx.service
检查安装是否成功,在浏览器中输入服务器的地址,本机安装则输入172.0.0.1,回车:
会显示:welcome to nginx!

2,编译安装(新手不推荐)

看这篇:https://www.cnblogs.com/liaoxianfu/p/0ec6427a9b5fa9063022fac1c2561395.html

四、安装php7.2和php-fpm

1,yum安装

执行如下两个命令添加php最新的yum源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

先清理旧php版本:
yum -y remove php*
安装php72w和php-fpm等拓展件:
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
验证php是否安装成功:
php -v
验证对应的扩展是否安装成功:
php -m
设置php-fpm并检测php-fpm的运行状态
启动php-fpm
service php-fpm start
检查启动是否成功
service php-fpm status
设置开机自启动
systemctl enable php-fpm.service
检查开机自启动是否设置成功
systemctl list-dependencies | grep php-fpm

2,配置php-fpm使nginx能够解析php

配置文件为:/etc/php-fpm.d/www.conf
输入ps -aux|grep nginx: worker process
出现的进程用户名应该是:nginx(有的是www-data)
修改/etc/php-fpm.d/www.conf
使
user = nginx
group = nginx

修改完后应重启php-fpm使修改后的配置生效。
停止
systemctl stop php-fpm.service
重启
systemctl restart php-fpm.service

3,配置nginx解析php

进入配置目录:
cd /etc/nginx/conf.d
编辑配置文件:vim default.conf
修改server{ }里面内容如下:

location / {
        root   /var/www/html;
        index  index.html index.htm index.php;
      }

去掉下面这段前面的注释号#,和修改对应的内容(注意

location ~ \.php$ {
        root           /var/www/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;

        #注意下面这一行不同之处,需要修改:
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

重载配置文件nginx:使配置生效
nginx -s reload
不行的话:

nginx -s stop
nginx -c /etc/nginx/nginx.conf

4,测试

在网站根目录,一般为/var/www/html
新建文件index.php:vim index.php
内容如下:

<?php
   phpinfo();
?>

在浏览器输入:服务器ip(或本机测试ip 127.0.0.1)/index.php
会显示php的相关信息,表示成功。

五、安装MySQL8

查看文章https://blog.csdn.net/qq_38591756/article/details/82958333

数据库远程连接(https://blog.csdn.net/CatEatApple/article/details/82736779