在centos8上使用手动部署LNMP环境

准备编译环境(LNMP–>L)

  1. 远程连接Linux实例。
  2. 关闭防火墙。
    i. 运行systemctl status firewalld命令查看当前防火墙的状态。
    防火墙的状态参数是inactive,则防火墙为关闭状态
    如果防火墙的状态参数是inactive,则防火墙为关闭状态
    如果防火墙的状态参数是active,则防火墙为开启状态
    上图中防火墙为关闭状态,因此不需要有任何操作。
    ii. 关闭防火墙的方式(笔者未进行运行实现)
    • 如果想临时关闭防火墙,运行命令systemctl stop firewalld

      这只是暂时关闭防火墙,下次重启Linux后,防火墙还会开启。
      或者运行命令 systemctl start firewalld

    • 如果您想永久关闭防火墙,运行命令systemctl disable firewalld
  3. 关闭SELinux
    i.运行getenforce命令查看SELinux的当前状态 。
    运行命令的结果
    如果SELinux状态参数是Disabled,则SELinux为关闭状态。
    如果SELinux状态参数是Enforcing,则SELinux为开启状态。
    上图中显示SELinux为关闭状态
    ii.关闭SELinux。如果SELinux为关闭状态可以忽略此步骤。
    如果您想临时关闭SELinux,运行命令setenforce 0

    这只是暂时关闭SELinux,下次重启Linux后,SELinux还会开启。

安装Nginx(LNMP–>N)

  1. 运行以下命令安装Nginx(笔者安装的为1.16。1版本)
    dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm
    

    可以访问Nginx官方安装包获取适用于CentOS 8系统的多版本的Nginx安装包。

  2. 运行以下命令查看Nginx版本
    nginx -v
    
    运行结果

安装MySQL(LNMP–>M)

两种方式 以下为第一种(直接在系统中安装mysql数据库)

  1. 运行以下命令安装MySQL。
    dnf -y install @mysql
    
  2. 运行以下命令查看MySQL版本。
    mysql -V
    
  3. 查看版本结果如下所示。
    mysql  Ver 8.0.17 for Linux on x86_64 (Source distribution)
    

两种方式 以下为第二种(先在系统中安装docker,再使用docker对mysql进行安装)

  1. 使用官方安装脚本自动安装docker
    安装命令如下:
    来自阿里云的一键安装命令

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    

    也可以使用国内 daocloud 一键安装命令:

    curl -sSL https://get.daocloud.io/docker | sh
    

    安装成功

  2. 安装成功后,启动docker

    sudo systemctl start docker
    

    启动成功后就可以进行docker 的使用了

  3. Docker 安装 MySQL
    访问 MySQL 镜像库地址 可以通过 Sort by 查看其他版本的 MySQL
    默认是最新版本 mysql:latest

    i.拉取官方的最新版本的镜像:

    docker pull mysql:latest
    

    docker pull [镜像名]:[镜像版本] latest或不填写 均为拉取最新版本镜像

    (笔者拉取的 mysql 5.7 版本)
    ii.查看本地镜像
    docker images拉取mysql成功
    iii.运行mysql容器

    docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
    

    --name mysql-test:对运行的mysql容器进行命名
    -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。 MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
    mysql : 为本地镜像的名称 如果不是最新版本镜像 请使用 mysql:[版本号]

    容器运行成功
    通过 docker ps 命令查看是否安装成功
    在这里插入图片描述

    本机可以通过 root 和密码 123456 访问 MySQL 服务。
    mysql -h localhost -u root -p

安装PHP

  1. 运行以下命令添加并更新epel源。

    dnf -y install epel-release
    dnf update epel-release
    
  2. 运行以下命令删除缓存的无用软件包并更新软件源。

    dnf clean all
    dnf makecache
    
  3. 启用php:7.3模块。

    dnf module enable php:7.3
    

    笔者使用的为php:7.3版本。如果您需要使用PHP 7.4版本,需要先安装remi源。remi源安装命令为dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

  4. 运行以下命令安装PHP相应的模块。

    dnf install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
    
  5. 运行以下命令查看PHP版本。

    php -v
    

    运行结果如下图php 7.3.20

配置Nginx

  1. 使用 whereis nginx 查找nginx所在位置 /etc 为配置文件 目录
    nginx位置

    进入nginx 配置文件的默认路径下,并备份默认配置文件。(留个后路)

    cd /etc/nginx/conf.d
    cp default.conf default.conf.bak
    
  2. 修改默认配置文件。
    运行以下命令打开默认配置文件。

    vi default.conf
    

    按i进入编辑模式。
    在location大括号内,修改以下内容。

    location / {
        #将该路径替换为您的网站根目录。
        root   /usr/share/nginx/html;
        #添加默认首页信息index.php。
        index  index.html index.htm index.php;
    }
    

    去掉被注释的location ~ .php$大括号内容前的#,并修改大括号的内容。
    修改完成如下所示。

    location ~ \.php$ {
        #将该路径替换为您的网站根目录。
        root           /usr/share/nginx/html;
        #Nginx通过unix套接字与PHP-FPM建立联系,该配置与/etc/php-fpm.d/www.conf文件内的listen配置一致。
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index  index.php;
        #将/scripts$fastcgi_script_name修改为$document_root$fastcgi_script_name。
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        #Nginx调用fastcgi接口处理PHP请求。
        include        fastcgi_params;
    }
    

    Nginx与PHP-FPM进程间通信方式有两种。 TCP Socket:该方式能够通过网络,可用于跨服务器通信的场景。 UNIX
    Domain Socket:该方式不能通过网络,只能用于同一服务器中通信的场景。

    按下Esc键,并输入:wq保存退出文件。

  3. 运行以下命令启动Nginx服务。

    systemctl start nginx
    
  4. 运行以下命令设置Nginx服务开机自启动。

    systemctl enable nginx
    

配置PHP

  1. 修改PHP配置文件。
    运行以下命令打开配置文件。

    vi /etc/php-fpm.d/www.conf
    

    i进入编辑模式。

    找到user = apachegroup = apache,将apache修改为nginx

    按下Esc键,并输入:wq保存退出文件。

  2. 运行以下命令启动PHP-FPM。

    systemctl start php-fpm
    
  3. 运行以下命令设置PHP-FPM开机自启动。

    systemctl enable php-fpm
    

测试php环境

切换至nginx配置的网站根目录/usr/share/nginx/html/ (nginx 配置内有配置)

cd /usr/share/nginx/html/

新建一个php文件 用以测试

vim phpinfo.php

i进入编辑模式。
输入下列内容,函数phpinfo()​会展示PHP的所有配置信息。

<?php echo phpinfo(); ?>

Esc键后,输入:wq并回车以保存并关闭配置文件。

打开浏览器。 在地址栏输入http://<IP地址>/phpinfo.php 返回结果下图结果,表示环境部署成功。
php测试界面

到此 LNMP 环境配置成功,本文结束

参考文章有
阿里云—手动部署LNMP环境(CentOS 8)

菜鸟教程—CentOS Docker 安装

菜鸟教程—Docker 安装 MySQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值