欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在 Anolis OS 8.6 上使用 YUM 安装 LNMP

最编程 2024-08-09 19:49:18
...

操作背景:虚拟机 Anolis 0S 8.6 、需要连接外网(用于yum epel 包的下载)。

零、防火墙 和 selinux 配置

# 临时永久关闭 selinux(Anolis OS 8.6 默认SElinux是关闭的所以不用设置)。
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

# 防火墙允许 192.168.30.0/24 访问 80;443;3306 端口。
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.30.0/24" port port="80" protocol="tcp" accept"
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.30.0/24" port port="443" protocol="tcp" accept"
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.30.0/24" port port="3306" protocol="tcp" accept"
firewall-cmd --reload
# 或者 直接关闭防火墙 。
systemctl stop firewalld && systemctl disable firewalld

一、安装 nginx

  1. 执行如下命令,安装Nginx。
dnf -y install nginx
  1. 执行如下命令,查看Nginx版本。
nginx -v
nginx 版本

二、安装 maridb 数据库

  1. 执行如下命令,安装 mariadb。

在 Linux 系统中,@mariadb 是一个 YUM 软件包组,包含了安装 MariaDB (一个 MySQL 的分支) 所需的软件包。使用 dnf -y install @mariadb 命令可以一次性安装所有与 MariaDB 相关的软件包,包括 MariaDB 数据库服务器、MariaDB 客户端、MariaDB Connector/C 开发库和其他一些常用的 MariaDB 工具。这样可以方便地在 Linux 系统上安装 MariaDB,并减少了手动一个个安装各个软件包的工作量。

dnf -y install @mariadb
  1. 执行如下命令,查看mariadb版本。
mysql -V
mariadb 版本

三、安装 php

  1. 执行如下命令,安装 PHP。
dnf -y 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
  1. 执行如下命令,查看PHP版本。
php -v
PHP 版本

四、配置 nginx

  1. 查看是否有该文件(/etc/nginx/default.d/php.conf),该配置。(默认配置可以用)
# nginx 启用 php 网页。
[root@192 nginx]# cat /etc/nginx/default.d/php.conf 
# pass the PHP scripts to FastCGI server
#
# See conf.d/php-fpm.conf for socket configuration
#
index index.php index.html index.htm;

location ~ \.(php|phar)(/.*)?$ {
    fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;

    fastcgi_intercept_errors on;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   php-fpm;
}
[root@192 nginx]# 

1.1 如果没有该文件(/etc/nginx/default.d/php.conf),就编辑 /etc/nginx/nginx.conf 文件。
1.1.1 在location大括号内,修改以下内容。

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

1.1.2 在 server 大括号内添加下述内容。

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:该方式不能通过网络,只能用于同一服务器中通信的场景。
e. 按下Esc键后,输入:wq并回车以保存关闭配置文件。

  1. 执行以下命令,启动Nginx服务。
systemctl start nginx 
  1. 执行一下命令,设置Nginx服务开机自启动。
systemctl enable nginx

五、配置 数据库

  1. 执行如下命令,启动Mariadb,并设置为开机自启动。
systemctl start mariadb
  1. 执行如下命令,查看Mariadb是否已启动。
systemctl status mariadb
mariadb 启动状态

查看返回结果中Active: active (running)表示已启动。

  1. 执行下命令,执行Mariadb安全性操作并设置密码。
mysql_secure_installation
  1. 回车开始相关配置。

  2. 输入Y并回车开始相关配置 Mariadb root 密码。

  3. 输入密码 ,并按回车键。这的示例密码是 88888888。

  4. 再次输入密码 ,并按回车键。这的示例密码是 88888888。

  5. 输入Y并回车移除匿名用户。

  6. 输入Y禁止root远程连接Mariadb,输入N允许。

  7. 输入Y并回车删除test库以及对test库的访问权限。

  8. 输入Y并回车重新加载授权表。

六、php 配置

  1. 修改PHP配置文件。

    1. 执行如下命令,打开配置文件。
vi /etc/php-fpm.d/www.conf
  1. 按i进入编辑模式。

  2. 找到user = apache和group = apache,将apache修改为nginx。

www.conf 配置文件
  1. 按Esc键后,输入:wq并回车,保存关闭配置文件。

或者使用 sed 命令快速替换
sed -i 's/apache user/nginx user/' /etc/php-fpm.d/www.conf
sed -i 's/user = apache/user = nginx/' /etc/php-fpm.d/www.conf
sed -i 's/group = apache/group = nginx/' /etc/php-fpm.d/www.conf

  1. 新建并编辑phpinfo.php文件,用于展示PHP信息。

  2. 执行以下命令,新建phpinfo.php文件。

vim <网站根目录>/phpinfo.php

<网站根目录>是您在nginx.conf配置文件中location ~ .php$大括号内,配置的root参数值,如下图所示。

本文配置的网站根目录为/usr/share/nginx/html,因此需要运行以下命令新建phpinfo.php文件。

vim /usr/share/nginx/html/phpinfo.php
  1. 按i进入编辑模式。

  2. 输入下列内容,函数phpinfo()会展示PHP的所有配置信息。

<?php echo phpinfo(); ?>
  1. 按Esc键后,输入:wq并回车,保存关闭配置文件。

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

systemctl start php-fpm
  1. 执行以下命令,设置PHP-FPM开机自启动。
systemctl enable php-fpm

七、访问 http://192.168.30.10/phpinfo.php ,返回结果如下图所示,表示LNMP环境部署成功。

phpinfo

本文参考:
手动部署LNMP环境(CentOS 8)

八、如果不想联网安装

  1. 提前下载 php 安装时所需的 libsodium 包,把它上传到服务器上。
    其他版本可以在 https://pkgs.org/上搜索下载。
    https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/l/libsodium-1.0.18-2.el8.x86_64.rpm
  2. 安装 libsodium 包。
dnf install libsodium-1.0.18-2.el8.x86_64.rpm
  1. 创建本地光盘镜像源。照上述 1-7 步骤配置即可。
扩展:
  1. 、这些文件是 Nginx 和 PHP-FPM 配置文件的位置和命名约定。
  • /etc/nginx/nginx.conf 是 Nginx 的主配置文件,其中包含全局的配置指令和默认的虚拟主机配置。
  • /etc/nginx/default.d/php.conf 是 Nginx 的默认虚拟主机配置文件,其中包含 PHP 子模块的配置指令,如 fastcgi_passfastcgi_param 等。
  • /etc/nginx/conf.d/php-fpm.conf 是可选的虚拟主机配置文件,如果您想为特定网站单独配置 PHP-FPM,则可以在这里定义相关指令。
  • /etc/php-fpm.d/www.conf 是 PHP-FPM 的主配置文件,其中包含了 PHP-FPM 的全局指令和默认的进程池配置。

这些文件路径和文件名与您的系统配置有关,可能会略有不同。

  1. 、这些文件是 Nginx 配置文件中常见的一些文件,其功能如下:
  • /etc/nginx/conf.d/ 目录通常包含为特定网站定义的虚拟主机配置。在此目录中,您可能会看到与网站名称相匹配的 .conf 文件。
  • /etc/nginx/default.d/ 目录包含 Nginx 的默认虚拟主机配置文件,其中可能包含一些与 PHP 相关的配置指令。
  • /etc/nginx/fastcgi.conffastcgi_params 文件包含 Nginx 关于 FastCGI 协议的配置指令,通常会在虚拟主机中使用。
  • /etc/nginx/koi-utfkoi-win 文件包含了字符集转码的映射表,通常在 Nginx 配置文件中使用。
  • /etc/nginx/mime.types 文件包含了 MIME 类型的定义,可以帮助 Nginx 确定如何处理文件类型。
  • /etc/nginx/nginx.conf 是 Nginx 的主配置文件,其中包含了全局的配置指令和默认的虚拟主机配置。
  • /etc/nginx/scgi_params 包含了与 SCGI(Simple Common Gateway Interface)协议相关的配置指令。
  • /etc/nginx/uwsgi_params 包含了与 uWSGI 协议相关的配置指令。
  • /etc/nginx/*.default 文件通常是针对 *.conf 文件的备份文件,如果您不需要某个配置文件,可以将其重命名为 *.conf.default

需要注意的是,这些文件列表可能与您的系统配置和版本有所不同。

  1. 、这些文件都与 PHP 和 PHP-FPM 相关,具体作用如下:
  • /etc/php.d/:该目录包含了一些 PHP 模块的配置文件,每个文件都描述了一个模块的配置选项。这些文件可以被包含在主 PHP 配置文件中,也可以在需要的时候手动加载。
  • /etc/php-fpm.conf:PHP-FPM 的主配置文件,该文件指定了 PHP-FPM 运行的一些参数和选项,如监听的 Unix 套接字、监听的端口、用户和组等。
  • /etc/php-fpm.d/:该目录包含了一些 PHP-FPM 子配置文件,这些文件包含了一些额外的配置选项,如池的配置、性能参数、环境变量等。这些子配置文件可以被 php-fpm.conf 主配置文件包含进来。
  • /etc/php.ini:PHP 的主配置文件,该文件包含了一些 PHP 运行时的参数和选项,如错误日志的位置、内存限制、上传文件大小限制等。这些参数可以通过修改该文件来调整 PHP 的行为。