如何在Debian7上安装Linux、Nginx、MySQL、PHP(LEMP)堆栈
Lemp Stack:基本信息
LEMP 堆栈是一组用于启动和运行 VPS 的开源软件。 该首字母缩写词包括更传统的 LAMP 堆栈的 Linux (L)、MySQL (M) 和 PHP (P),但将 Apache 换成了 Nginx(发音为 engine x)。
本教程介绍了如何安装 nginx/MySQL/PHP-fpm,以及下载 nginx 和 php-fpm 所需的所有存储库。 它还将回顾如何配置 php 和 nginx,以及如何创建 php 信息页面。
1) 更新 Apt-Get
apt-get update 命令用于从源重新同步包索引文件。 如果与 apt-get upgrade 命令结合使用,它们会安装当前可用的所有软件包的最新版本。
目前,我们只需要彻底更新:
sudo apt-get update
2) 在你的 VPS 上安装 MySQL
MySQL 是一个强大的数据库管理系统,用于组织和检索数据
要安装 MySQL,请打开终端并输入以下命令:
sudo apt-get install mysql-server
在安装过程中,MySQL 会要求您设置 root 密码。 如果您在安装程序时错过了设置密码的机会,以后可以很容易地在 MySQL shell 中设置密码。
安装 MySQL 后,我们应该使用以下命令激活它:
sudo mysql_install_db
通过运行 MySQL 设置脚本完成:
sudo /usr/bin/mysql_secure_installation
提示将询问您当前的 root 密码。 输入它。
Enter current password for root (enter for none): OK, successfully used password, moving on...
提示将询问您是否要更改 root 密码。 继续并为此选项选择 N,因为应该设置 root 密码; 但是,对于其余问题,您可以简单地对所有问题回复 Y——除非您有理由不这样做。
现在让我们安装 nginx!
3) 在您的 VPS 上安装和配置 Nginx
安装
使用 apt-get 命令进行初始安装很简单。
sudo apt-get install nginx
nginx 需要一个命令才能开始运行:
sudo service nginx start
现在,如果您将浏览器指向您的 IP 地址,它应该会确认 nginx 已成功安装在您的云服务器上。
- 运行以下命令以显示您的 VPS 的 IP 地址。
ifconfig eth0 | grep inet | awk '{ print $2 }'
配置
使用以下命令打开默认虚拟主机文件:
sudo nano /etc/nginx/sites-available/default
配置应包括以下更改(更改的详细信息在配置信息下):
更新: 较新的 Ubuntu 版本默认创建一个名为 'html' 而不是 'www' 的目录。 如果 /usr/share/nginx/www 不存在,它可能被称为 html。 确保适当地更新配置。
[...] server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } [...]
以下是更改的详细信息:
- 将 index.php 添加到索引行。
- 将 server_name 从本地主机更改为您的域名或 IP 地址(替换配置中的 example.com)
- 在“location ~ \.php$ {”部分更改正确的行
保存并退出
4) 安装和配置 PHP
安装
你可能猜到了! 我们将使用 apt-get 命令安装 PHP-FPM:
sudo apt-get install php5-fpm php5-mysql
配置
我们需要对 php 配置做一点小改动。 打开 php.ini:
sudo nano /etc/php5/fpm/php.ini
找到行 cgi.fix_pathinfo=1 和 将 1 更改为 0.
cgi.fix_pathinfo=0
如果此数字保持为 1,则 php 解释器将尽最大努力处理尽可能靠近请求文件的文件。 这是一个可能的安全风险。 相反,如果这个数字设置为 0,解释器将只处理确切的文件路径——这是一种更安全的选择。
保存并退出。
我们需要对 php5-fpm 配置进行另一个小改动。 打开 www.conf:
sudo nano /etc/php5/fpm/pool.d/www.conf
找到该行,listen = 127.0.0.1:9000,并将 127.0.0.1:9000 更改为 /var/run/php5-fpm.sock。
listen = /var/run/php5-fpm.sock
保存并退出。
重启 php-fpm:
sudo service php5-fpm restart
5) 创建一个 PHP 信息页面
我们可以很快看到新的 php 配置的所有细节。
要设置它,首先创建一个新文件:
sudo nano /usr/share/nginx/www/info.php
添加以下行:
<?php phpinfo(); ?>
然后保存并退出。
整理起来
重启nginx:
sudo service nginx restart
访问 http://youripaddress/info.php 可以看到 nginx 和 php-fpm 的配置细节
您的 LEMP 堆栈现在已在您的虚拟专用服务器上设置和配置 :)