如何在Debian 8 Jessie(Nginx,MariaDB,PHP7)上安装LEMP Stack

LEMP代表Linux,Nginx(发音为Egnine X),MySQL / MariaDB和PHP。 它使服务器可以托管动态网站和Web应用程序。 在本教程中,我将向您展示如何在Debian 8 Jessie上安装LEMP堆栈。 我选择将MariaDB安装为数据库服务器而不是MySQL,然后安装PHP7。

步骤1安装Nginx

与Apache相比,Nginx是一种轻量级且快速的Web服务器,并且如今变得越来越流行。 它也可以用作反向代理。 要在Debian 8上安装Nginx,请在终端中输入以下命令:

$ sudo apt-get install nginx -y

一旦安装,Nginx应该正在运行。

$ sudo service nginx status
[ ok ] nginx is running.

检查Nginx版本

$ nginx -v
nginx version: nginx/1.6.2

在Web浏览器中键入服务器IP地址,如果看到以下文本,则表示已正确安装Nginx。

您可以使用以下命令检查您的公共IP

$ curl http://icanhazip.com

您还可以在服务器上使用curl来获取HTTP标头

[email protected]:~$ curl -I localhost
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Mon, 25 Jan 2016 16:33:28 GMT
Content-Type: text/html
Content-Length: 867
Last-Modified: Mon, 25 Jan 2016 16:20:36 GMT
Connection: keep-alive
ETag: "56a64b54-363"
Accept-Ranges: bytes

如您所见,Nginx返回200响应代码,指示Nginx运行正常。

安装MariaDB

MariaDB是MySQL的直接重定位。 使用以下命令进行安装:

sudo apt-get install -y mariadb-server mariadb-client

在安装过程中,它将要求您为Mariadb根用户设置密码。 输入一个好的密码,然后按Enter。 MariaDB超级用户不应与Debian系统超级用户混淆。

设置mariadb根密码

重复您的密码,然后按Enter。

设置mariadb根密码

检查MariaDB版本

$ mysql --version
mysql Ver 15.1 Distrib 10.0.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

现在运行安全脚本

$ sudo mysql_secure_installation

输入MariaDB根密码。 当询问您是否要更改root密码时,请按 n 键。 然后,您只需按Enter键即可回答所有其他问题。

MariaDB安装完成。

安装PHP7

将以下文字放入 /etc/apt/sources.list 文件来添加dotdeb.org存储库。

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

获取并安装GnuPG密钥

$ wget https://www.dotdeb.org/dotdeb.gpg

$ sudo apt-key add dotdeb.gpg

更新本地软件包索引并安装PHP7。

$ sudo apt-get update

$ sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl php7.0-xml php7.0-zip php7.0-mbstring

配置PHP7

编辑主要的php-fpm配置文件:

sudo vi /etc/php/7.0/fpm/php.ini

找到以下行:

;cgi.fix_pathinfo=1

删除前面的分号并将其值设置为0

cgi.fix_pathinfo=0

保存并关闭文件。 重新启动php-fpm

sudo service php7.0-fpm restart

配置Nginx虚拟主机

在/ etc / nginx / sites-available目录下创建一个新的虚拟主机文件:

sudo vi /etc/nginx/sites-available/yourdomain.conf

向其添加以下行。

server {
  listen 80;
  server_name yourdoman.com www.yourdomain.com;
  root /var/www/html;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
     try_files $uri $uri/ =404;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
     root /var/www/html;
  }

  location ~ .php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

用您的实际域名替换yourdoman.com。 保存并关闭文件。 创建软链接:

sudo ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/yourdomain.conf

然后测试Nginx配置

[email protected]:$  sudo nginx -t
 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

重新加载Nginx配置

$ sudo service nginx reload

向www-data用户授予/ var / www / html的完全许可。

sudo chown www-data:www-data /var/www/* -R

测试PHP

在Web根目录中创建一个info.php文件:

$ sudo vi /var/www/html/info.php

将以下文本插入inot info.php文件。

<?php
   phpinfo();
?>

保存并关闭文件。 现在,在浏览器的地址栏中,键入以下文本:

yourdomain.com/info.php

用您的实际域名替换yourdomain.com。

如果您看到类似这样的信息,则说明您的PHP正常运行。

测试PHP

确保您为域名设置了正确的A记录。

info.php文件仅用于测试。 为了安全起见,您现在可以将其删除。 现在,您已经在Debian 8 Jessie上成功安装了LEMP堆栈(Nginx,Mariadb,PHP7-FPM)。

干杯!

Sidebar