centos 7 服务器安装LNMP环境 (linux+nginx+mysql8+PHP)保证成功(2022年更新)


一、前言:

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

二、安装前的准备-配置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 nginx.org/packages/centos/7/noarch/...
执行下列命令安装Nginx
sudo yum install nginx
启动Nginx
sudo systemctl start nginx.service
设置开机自动运行
sudo systemctl enable nginx.service
检查安装是否成功,在浏览器中输入服务器的地址,本机安装则输入172.0.0.1,回车:
会显示:welcome to nginx!

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

看这篇:www.cnblogs.com/liaoxianfu/p/0ec64...

四、安装php7.2和php-fpm

1,yum安装

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

rpm -Uvh dl.fedoraproject.org/pub/epel/epel...
rpm -Uvh mirror.webtatic.com/yum/el7/webtat...
先清理旧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

查看文章(CentOS7安装mysql8.0.12_心有山海静而无边-CSDN博客_centos mysql8)

数据库远程连接(Navicat远程连接MySQL8.0亲测有效_CatEatApple的专栏-CSDN博客)

本作品采用《CC 协议》,转载必须注明作者和本文链接
最美的不是下雨天,而是和你一起躲过的屋檐!
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!