Arch Linux 服务器安装 LNMP

没有其他发行版的一键脚本/运维面板 Arch Linux 用它的方式体现着它的超凡脱俗 其实就是用的人太少,没人写脚本

对 Arch Linux 进行一次全面更新

话说,这不是每天开机第一件事吗

1
sudo pacman -Syu

安装 Nginx

Arch Linux 软件库中有两个版本的 Nginx,分别是 nginxnginx-mainline,与 Nginx 官方的两个版本对应。nginx 理论上更加稳定,但版本比较旧, 而 nginx-mainline 是 Nginx 最新的版本。 但这并不表示 nginx-mainline = 不稳定。实际上 nginx.org 官网说明,如果没有非常必要的原因,则推荐使用 nginx mainline。 输入如下命令安装旧版本 Nginx。

1
sudo pacman -S nginx

安装 nginx-mainline。(本教程安装的是 mainline)

1
sudo pacman -S nginx-mainline

以上两条命令默认会自动安装 geoip 和 geoip-database 两个软件包。安装完成后,使用 systemctl 来查看其状态。

1
systemctl status nginx

输出:

1
2
3
4
5
6
7
8
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2016-04-12 13:10:57 CST; 1 day 7h ago
   Main PID: 2010 (nginx)
      Tasks: 2 (limit: 512)
     CGroup: /system.slice/nginx.service
             ├─2010 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on
             └─2011 nginx: worker process

如果 Nginx 未运行,则输入以下的命令启动它。

1
2
sudo systemctl start nginx #启动 Nginx
sudo systemctl enable nginx #设置 Nginx 开机自启动

输入如下命令可查看 Nginx 的版本号

1
2
[user@arch ~]$ nginx -v
nginx version: nginx/1.9.14

在浏览器中输入 Arch Linux 服务器的 IP 地址,如果看见如下文字,则说明 Nginx 在正常运行。 Nginx 欢迎界面

如果你不知道服务器公网 IP,可以输入这条命令查看。

1
curl http://icanhazip.com

如果你是在本地主机安装,那么直接在浏览器地址栏输入 127.0.0.1 即可。

安装 MariaDB

2013 年开始,Arch Linux 将 MariaDB 作为默认的 SQL 数据库软件,Oracle 的 MySQL 则被丢进 AUR(((

输入如下命令安装 MariaDB

1
sudo pacman -S mariadb

在启动 MariaDB 服务之前,需要使用用 mysql_install_db命令初始化 MariaDB 的数据目录

1
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

启动 MariaDB 服务。

1
sudo systemctl start mysqld

查看 MariaDB 状态。

1
systemctl status mysqld

输出:

1
2
3
4
5
6
7
8
● mysqld.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-04-13 21:09:45 CST; 5s ago
  Process: 8373 ExecStartPost=/usr/bin/mysqld-post (code=exited, status=0/SUCCESS)
 Main PID: 8372 (mysqld)
    Tasks: 26 (limit: 512)
   CGroup: /system.slice/mysqld.service
           └─8372 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid

设置 MariaDB 开机自启动。

1
sudo systemclt enable mysqld

运行安全安装脚本。

1
sudo mysql_secure_installation

它会询问你 MariaDB 的 root 密码,因为我们没有设置密码,所以按 Enter 键,再设置一个 root 密码。然后选择删除 test 数据库,anonymous 用户以及禁用 root 用户远程登录。

查看 MariaDB 的版本。

1
2
[user@arch ~]$ mysql --version
mysql  Ver 15.1 Distrib 10.1.13-MariaDB, for Linux (x86_64) using readline 5.1

默认的配置文件位置为 /etc/mysql/my.cnf

第 4 步:安装 PHP7 Arch Linux 软件库的 PHP 一般都是最新版本(目前是 7.4 版本)

1
sudo pacman -S php-fpm

安装后,修改 Nginx 配置文件以使 Nginx 使用 php-fpm 来运行 PHP。编辑/etc/nginx/nginx.conf 文件。

1
sudo nano /etc/nginx/nginx.conf

找到 location ~ .php$这部分的配置,将这部分配置修改成如下。

1
2
3
4
5
6
7
location ~ \.php$ {
            root           /usr/share/nginx/html;
            fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

保存文件。然后启动 php-fpm,并设置开机自启动。

1
2
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

第 5 步:测试 PHP 在网站根目录创建一个 test.php 文件。默认的网站根目录是/usr/share/nginx/html。

1
sudo nano /usr/share/nginx/html/test.php

在文件中添加如下 PHP 代码。

1
2
3
<?php
  phpinfo();
?>

保存文件。重新加载 Nginx。

1
sudo systemctl reload nginx

然后在浏览器地址栏输入 http://你服务器或本地主机IP/test.php。将 server-ip 替换成 Arch Linux 服务器或本地主机 IP。 此时,浏览器会显示有关 PHP 到底信息,这意味着你已修改成功。

test.php 文件只是用来测试 PHP 的,为了不让他人看见服务器的信息,测试之后要将它删除。

1
sudo rm /usr/share/nginx/html/test.php

启用 PHP 扩展 编辑 /etc/php/php.ini 配置文件。

1
sudo nano /etc/php/php.ini

找到如下两行文字,去掉前面的#符号以启用 mysqli 和 pdo_mysql。

1
2
;extension=mysqli.so
;extension=pdo_mysql.so

mysqli.do 用来建立数据库连接。pdo_mysql.so 是 drupal 内容管理系统所必要的 PHP 扩展。如果需要在 WordPress, Drupal 内容管理系统中剪裁、旋转图片,那么需要启用 imagemagick 这个扩展。

安装教程到此结束。

转载自

使用 Hugo 构建
主题 StackJimmy 设计