如何在 Arch Linux 上安装 LEMP(Nginx、PHP、MariaDB)如何在 Arch Linux 上安装 LEMP(Nginx、PHP、MariaDB)如何在 Arch Linux 上安装 LEMP(Nginx、PHP、MariaDB)如何在 Arch Linux 上安装 LEMP(Nginx、PHP、MariaDB)
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Arch Linux 上安装 LEMP(Nginx、PHP、MariaDB)

发表 admin at 2025年2月28日
类别
  • 未分类
标签

由于其滚动发布模型包含尖端软件,Arch Linux 的设计和开发并不是为了作为服务器运行以提供可靠的网络服务,因为它需要额外的时间进行维护、不断升级和合理的文件配置。

但是,由于 Arch Linux 附带了预装最少软件的核心安装,因此它可以代表安装当今大多数流行网络服务的坚实基础启动点,包括 LEMP 或 LAMP、Apache Web 服务器、Nginx、PHP、SQL 数据库、Samba、FTP 服务器、BIND 等,其中许多由 Arch 提供Linux 官方存储库和来自 AUR 的其他存储库。

本教程将指导安装和配置LEMP堆栈(Nginx, PHP、MySQL(带有MariaDB引擎和PhpMyAdmin)远程使用SSH ,它可以为构建Web服务器应用程序提供坚实的基础。

步骤 1:为 Arch Linux 网络接口分配静态 IP 地址

1. 最小化 Arch Linux 核心安装后,重新启动服务器,使用 root 帐户或同等管理 sudo 帐户登录,并使用 ip link 命令识别系统 NIC 设备名称。

ip link

2. 要分配静态网络配置,我们将使用 netctl 包来管理网络连接。成功识别网络接口名称后,将ethernet-static文件模板复制到netctl系统路径,并将其名称更改为描述性命名通过发出以下命令来配置方案(尝试使用“static”字符串与 NIC 名称组合)。

sudo pacman -S netctl
sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/my-static-profile

3.下一步是通过更改文件指令并提供您的实际网络设置(接口、IP/网络掩码、网关、广播、DNS)来编辑此新模板文件,如下面的摘录所示。

sudo nano /etc/netctl/my-static-profile

使用您的网络设置修改该文件:

Description='A basic static ethernet connection'
Interface=eth0  # Replace with your network interface name
Connection=ethernet
IP=static
Address=('192.168.1.100/24')  # Replace with your desired IP address
Gateway='192.168.1.1'         # Replace with your gateway address
DNS=('192.168.1.1')           # Replace with your DNS server, if needed

4.下一步是通过netctl系统工具启动网络连接,并通过发出以下命令验证系统连接。

sudo netctl start my-static-profile
sudo netctl status my-static-profile

5.如果您获得有效的绿色退出状态,则表示您已成功配置您的网络接口,并且是时候在系统范围的服务上自动启用它了。

sudo netctl enable my-static-profile

还可以通过针对域名运行 ping 命令来测试您的网络,并安装 net-tools 软件包(该软件包最著名的功能是 ifconfig 命令,它Arch 开发人员认为已被弃用并被 iproute2 取代)。

sudo pacman -S net-tools

6.现在您可以运行ifconfig命令来验证您的网络接口设置并检查所有内容是否正确显示,然后重新启动 您的系统,确保一切都就位并正确配置。

ifconfig
ping linux教程

步骤 2:在 Arch Linux 上安装 LEMP 软件

正如本文介绍中所指出的LEMP代表Linux、Nginx、PHP/PhpMyAdmin、< 和 MySQL/MariaDB,它是继 LAMP 之后当今最广泛传播的 Web 应用程序平台之一(与 相同的堆栈)阿帕奇在等式中)。

7.在安装LEMP堆栈之前,我们需要更新系统,然后获得对Arch Linux服务器的远程控制。您可能知道 OpenSSH 是这项工作的主要候选者,因此请继续安装它,启动 SSH 守护程序,并在系统范围内启用它。

sudo pacman -Syu
sudo pacman -S openssh

sudo systemctl start sshd
sudo systemctl status sshd
sudo systemctl enable sshd

现在是时候继续安装LEMP了。因为本教程是一个综合指南,所以我将逐步将 LEMP 堆栈安装分成小部分。

8. 首先安装 Nginx Web 服务器,然后启动它并通过发出以下命令验证其状态。

sudo pacman -S nginx
sudo systemctl start nginx
sudo systemctl status nginx

9.下一个要安装的服务是MySQL数据库。发出以下命令安装 MySQL 数据库服务器并选择 MariaDB 引擎,然后启动并验证守护程序状态。

sudo pacman -S mysql
sudo systemctl start mysqld
sudo systemctl status mysqld

10.下一步是为MySQL数据库提供高度安全的环境,方法是提供MySQL根帐户的密码、删除匿名用户帐户、删除测试数据库和可从本地主机外部访问的 root 帐户。

运行以下命令以提高 MySQL 安全性,按 [Enter] 输入当前 root 帐户密码,然后对所有问题回答是(同时设置您的 root 帐户密码)。

sudo mysql_secure_installation

注意:无论如何,不要将 MySQL root 帐户与 Linux 系统 root 帐户混淆 – 它们是两个不同的东西 – 差别不大,但它们在不同的层面上运行。

要使用 mysql -u root -p 命令语法验证 MySQL 安全登录到数据库,请提供 root 密码,然后使用 exit; 命令离开数据库。

mysql -u root -p

11. 现在是时候安装 PHP 服务器端脚本语言了,以便能够开发和运行复杂的动态 Web 应用程序,而不仅仅是提供 HTML/CSS 代码。

因为我们使用 Nginx 作为 Web 服务器,所以我们需要安装 PHP-FPM - 支持模块通过快速通用网关进行通信并更改由 PHP 脚本生成的动态内容。

发出以下命令行来安装 PHP-FPM 服务,然后启动守护程序并验证状态。

sudo pacman -S php php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm
sudo systemctl enable php-fpm

要列出所有可用的 PHP 模块,请发出以下命令。

sudo pacman -Ss | grep php

12. 最后步骤之一是为 MySQL 数据库安装 PhpMyAdmin Web Interface。发出以下命令来安装 PhpMyAdmin 及其 PHP 所需的模块,然后为 PhpMyaAdmin 系统路径创建到 Nginx 默认根路径的符号链接。

sudo pacman -S phpmyadmin
sudo ln -s /usr/share/webapps/phpMyAdmin  /usr/share/nginx/html

13. 然后配置 php.ini 文件以包含 PhpMyAdmin 应用程序所需的必要扩展。

sudo nano /etc/php/php.ini

使用 [CTRL+W] 键找到并取消注释(删除行开头的 ;)以下行。

extension=mysqli.so
extension=mysqli
mysqli.allow_local_infile = On

在同一文件中,找到并编辑 open_basedir 指令以类似于以下包含的目录。

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/

14. 下一步是在本地主机 Nginx 指令上启用 PHP-FPM FastCGI。发出下一个命令来备份 nginx.conf Web 服务器文件配置,然后将其替换为以下内容。

sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo nano /etc/nginx/nginx.conf

在nginx.conf上添加以下全部内容。

#user html;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    gzip  on;

    server {
        listen       80;
        server_name  localhost;
        root         /usr/share/nginx/html;
        charset      koi8-r;

        location / {
            index  index.php index.html index.htm;
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;
        }

        location /phpmyadmin {
            rewrite ^/* /phpMyAdmin last;
        }

        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        location ~ \.php$ {
            #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
            fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
        }

        location ~ /\.ht {
            deny  all;
        }
    }
}

15.完成所有文件配置后,您需要做的就是重新启动Nginx和PHP-FPM服务并将浏览器指向来自本地节点的 http://localhost/phpmyadmin URL 或来自另一台计算机的 http://arch_IP/phpmyadmin 。

sudo systemctl restart php-fpm
sudo systemctl restart nginx

16.如果一切按预期运行,最后一步是使用以下命令在系统范围内启用LEMP。

sudo systemctl enable php-fpm
sudo systemctl enable nginx
sudo systemctl enable mysqld

恭喜!您已经在 Arch Linux 上安装并配置了 LEMP,现在您拥有了一个完整的动态界面来开始和开发 Web 应用程序。

尽管由于其面向社区的滚动发布模型,Arch Linux 并不是最适合在生产服务器上运行的系统,但它可以成为小型非关键生产环境的非常快速且可靠的来源。

©2015-2025 Norria support@norria.com