在2019年的Arch Linux服務器上安裝Nginx,MariaDB,PHP7(LEMP)

在先前的教程中,我解釋了如何在KVM VPS上安裝Arch Linux。 現在,本教程將向您展示如何在Arch Linux服務器上安裝Nginx,MariaDB,PHP7(又名LEMP堆棧)。 您也可以按照本指南在Arch Linux家用計算機上安裝LEMP堆棧。

步驟1:更新Arch Linux服務器

在Arch Linux上安裝任何軟件包之前,始終最好刷新存儲庫並先執行更新。 在終端中輸入以下命令來升級軟件。

sudo pacman -Syu

步驟2:安裝Nginx Web服務器

Arch Linux存儲庫包含Nginx Web服務器的兩個版本: nginxnginx-mainline。 Nginx是更穩定且較舊的版本,而Nginx-mainline是最新版本。 這並不一定意味着nginx-mainline是不穩定的。 實際上,如果您沒有充分的理由使用較早版本,nginx.org建議使用nginx主線。

要安裝舊版本:

sudo pacman -S nginx

本教程將安裝主線版本。

sudo pacman -S nginx-mainline

默認情況下,上述兩個命令也會安裝 geoipgeoip-database 包。 安裝完成後,檢查Nginx狀態。

systemctl status nginx

輸出:

● 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

如果它沒有運行,請使用systemctl啟動它:

sudo systemctl start nginx

引導Arch Linux服務器時,使Nginx自動啟動。

sudo systemctl enable nginx

檢查Nginx版本。

nginx -v

輸出:

nginx version: nginx/1.17.1

在瀏覽器地址欄中輸入Arch Linux服務器的IP地址,如果看到以下文本,則表明Nginx運行正常。

您可以使用以下命令檢查服務器的公共IP。

curl http://icanhazip.com

如果要在Arch Linux家用計算機上安裝Nginx,只需鍵入 127.0.0.1 要麼 localhost 在地址欄中。

步驟3:安裝MariaDB數據庫服務器

自2013年以來,MariaDB是Arch Linux的MySQL的默認實現。OracleMySQL降為AUR。 如此看來,Arch Linux確實希望您從MySQL遷移到MariaDB。

MariaDB隨mariadb軟件包一起提供。

sudo pacman -S mariadb

您需要在啟動服務之前初始化MariaDB數據目錄。 這可以通過mariadb-install-db命令完成。

sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

現在啟動MariaDB。

sudo systemctl start mariadb

檢查它是否正在運行:

systemctl status mariadb

輸出:

● 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

啟動Arch Linux時,使MariaDB自動啟動。

sudo systemctl enable mariadb

運行安裝後的安全腳本。

sudo mysql_secure_installation

系統將要求您輸入您的MariaDB根密碼。 由於您還沒有MariaDB根密碼,請按Enter。

拱linux mysql_secure_installation

當詢問是否要切換到unix_socket身份驗證時,可以按Enter鍵。 (請注意,Y是大寫的,這意味着它是默認答案。)當詢問您是否要更改root密碼時,請回答’n’,因為unix_socket身份驗證不需要MariaDB根用戶具有密碼。 然後,您可以按Enter鍵回答所有剩餘的問題,這將刪除測試數據庫,匿名用戶並禁用root遠程登錄。

要登錄MariaDB控制台,只需運行以下命令。

sudo mysql -u root

要退出,請運行

exit

默認的主配置文件位於 /etc/my.cnf

步驟4:安裝PHP7

Arch Linux存儲庫中的最新PHP版本是7.3.6。 要安裝它,請運行以下命令:

sudo pacman -S php php-fpm

安裝完成後,我們需要告訴Nginx使用php-fpm運行PHP。 為此,請編輯 /etc/nginx/nginx.conf 文件。

sudo nano /etc/nginx/nginx.conf

找出 location ~ .php$ 部分(第65行)並將其修改為以下內容。

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;
}

保存並關閉文件。 然後測試Nginx配置。

sudo nginx -t

如果測試成功,請重新加載Nginx。

sudo systemctl reload nginx

然後使用以下命令啟動並啟用php-fpm服務:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

步驟5:測試PHP處理

創建一個 test.php 在Web根目錄下的文件。

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

將這些行添加到文件。

<?php
  phpinfo();
?>

保存並關閉文件。 現在,在您的瀏覽器地址中,鍵入 http://your-server-ip/test.php。 您應該看到所有PHP信息。 如果要在Arch Linux台式機或筆記本電腦上安裝LEMP,請鍵入 127.0.0.1/test.php 要麼 localhost/test.php

在Arch Linux上安裝LEMP堆棧

test.php文件僅用於測試目的。 出於安全原因,您現在可以將其刪除。

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

啟用PHP擴展

編輯 /etc/php/php.ini 配置文件。

sudo nano /etc/php/php.ini

找到以下兩行(922和926行),刪除分號以啟用這兩個擴展。

;extension=mysqli
;extension=pdo_mysql

您也可以運行以下2條命令在Arch Linux上啟用mysqli和pdo_mysql擴展,因此您不必打開文件並找到2行。

sudo sed -i 's/;extension=mysqli/extension=mysqli/g' /etc/php/php.ini
sudo sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/g' /etc/php/php.ini

重新加載php-fpm服務,以使更改生效。

sudo systemctl reload php-fpm

mysqli.so 用於將PHP與MariaDB / MySQL數據庫連接。 pdo_mysql.so 是展示Drupal網站所必需的。 您可能還需要為PHP啟用imagemagick擴展,以便在WordPress等CMS平台中裁剪和旋轉圖像。

包起來

恭喜! 您已在Arch Linux服務器上成功安裝了Nginx,MariaDB和PHP7! 與往常一樣,如果您發現這篇文章很有用,請訂閱我們的免費新聞通訊以獲取更多提示和技巧。 保重🙂

Sidebar