云网牛站
所在位置:首页 > Linux云服务器 > Arch Linux服务器安装LNMP(Nginx、MariaDB、PHP7)

Arch Linux服务器安装LNMP(Nginx、MariaDB、PHP7)

2017-11-29 15:14:49作者:linux大神稿源:linuxdashen

如果你还没有安装Arch Linux请参考借助Evolution Linux的帮助来轻松安装Arch Linux。这篇教程将教大家如何安装在Arch Linux服务器上安装Nginx、MariaDB及PHP7,即LNMP。

 

第1步、升级Arch Linux

在安装软件包之前,升级一下系统总是有好处的。

sudo pacman -Syu

 

第2步、安装Nginx

Arch Linux软件库中有两个版本的Nginx:nginx和nginx-mainline,这与Nginx官方的两个版本对应。nginx更加稳定,但版本比较旧,nginx-mainline是最新的版本,但这并不表示nginx-mainline就不稳定。实际上nginx.org官网说明如果没有非常必要的原因,则推荐使用nginx mainline。另外,老版本nginx还不支持HTTP/2,所以如果你需要启用HTTP/2的话,则需要安装nginx mainline。

安装老版本Nginx。

sudo pacman -S nginx

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

sudo pacman -S nginx-mainline

以上两条命令默认会自动安装geoip和geoip-database两个软件包。Nginx网站服务器安装好后,使用systemctl来查看其状态。

systemctl status nginx

输出:

Arch Linux服务器安装LNMP(Nginx、MariaDB、PHP7)

如果Nginx不在运行,则使用下面的命令启动它。

sudo systemctl start nginx

设置Nginx开机自启动。

sudo systemctl enable nginx

查看Nginx的版本号:

[user@arch ~]$ nginx -v

nginx version: nginx/1.13.7

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

Arch Linux服务器安装LNMP(Nginx、MariaDB、PHP7)

可以用这条命令查看你的公网IP地址。

curl http://icanhazip.com

如果你在本地主机安装,那么在浏览器地址栏输入127.0.0.1就行了。

 

第3步、安装MariaDB

2013年后,Arch Linux将MariaDB作为默认的SQL服务器,Oracle的MySQL很少被应用(被丢进AUR软件库)。

使用这条命令安装MariaDB。

sudo pacman -S mariadb

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

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

现在启动MariaDB服务。

sudo systemctl start mysqld

查看MariaDB状态。

systemctl status mysqld

输出:

Arch Linux服务器安装LNMP(Nginx、MariaDB、PHP7)

设置MariaDB开机自启动。

sudo systemclt enable mysqld

运行安全脚本。

sudo mysql_secure_installation

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

查看MariaDB的版本。

[user@arch ~]$ mysql --version

mysql  Ver 15.1 Distrib 10.2-MariaDB, for Linux (x86_64) using readline 5.1

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

 

第4步、安装PHP7

Arch Linux软件库的PHP是最新的7系列版本。使用下面的命令安装。

sudo pacman -S php-fpm

安装后,我们要让Nginx使用php-fpm来运行php。编辑/etc/nginx/nginx.conf文件。

sudo nano /etc/nginx/nginx.conf

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

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,并设置开机自启动。

sudo systemctl start php-fpm

sudo systemctl enable php-fpm

 

第5步、测试PHP

在网站根目录创建一个test.php文件。默认的网站根目录是/usr/share/nginx/html。

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

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

<?php

phpinfo();

?>

保存文件。重新加载Nginx。

sudo systemctl reload nginx

然后在浏览器地址栏输入http://server-ip/test.php。将server-ip替换成Arch Linux的IP 。你应该可以看见服务器的PHP信息。

Arch Linux服务器安装LNMP(Nginx、MariaDB、PHP7)

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

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

 

启用PHP扩展

编辑 /etc/php/php.ini配置文件。

sudo nano /etc/php/php.ini

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

;extension=mysqli.so

;extension=pdo_mysql.so

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

 

好了!我们成功地在Arch Linux服务器安装了LNMP(Nginx、MariaDB、PHP7)。

 

相关主题

第20章 使用LNMP架构部署动态网站环境

精选文章
热门文章