如何在Ubuntu12.04上安装Linux、nginx、MySQL、PHP(LEMP)堆栈
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
关于 Lemp
LEMP 堆栈是一组用于启动和运行 Web 服务器的开源软件。 该首字母缩写词代表 Linux、nginx(发音为 Engine x)、MySQL 和 PHP。 由于服务器已经在运行 Ubuntu,因此需要处理 linux 部分。 这是安装其余部分的方法。
设置
本教程中的步骤要求用户具有 root 权限。 您可以在 初始服务器设置教程 的第 3 步和第 4 步中查看如何设置它。
第一步——更新 Apt-Get
在本教程中,我们将使用 apt-get 作为所有服务器程序的安装程序。 2012 年 5 月 8 日,发现了一个严重的 php 漏洞,我们必须下载所有最新的补丁软件来保护虚拟专用服务器。
让我们做一个彻底的更新。
sudo apt-get update
第二步——安装 MySQL
MySQL 是一个强大的数据库管理系统,用于组织和检索数据
要安装 MySQL,请打开终端并输入以下命令:
sudo apt-get install mysql-server php5-mysql
在安装过程中,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 并继续下一步。
对所有选项说“是”是最简单的。 最后,MySQL 将重新加载并实施新的更改。
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up...
完成后,您可以通过安装 PHP 来完成。
第三步——安装nginx
一旦 MySQL 设置完毕,我们就可以继续在 VPS 上安装 nginx。
echo "deb http://ppa.launchpad.net/nginx/stable/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/nginx-stable.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C sudo apt-get update sudo apt-get install nginx
nginx 不会自行启动。 要让 nginx 运行,请键入:
sudo service nginx start
您可以通过将浏览器定向到您的 IP 地址来确认 nginx 已安装您的 Web 服务器。
您可以运行以下命令来显示您的 VPS 的 IP 地址。
ifconfig eth0 | grep inet | awk '{ print $2 }'
第四步——安装 PHP
要安装 PHP-FPM,请打开终端并输入这些命令。 下一步我们将配置nginx的详细信息和php的详细信息:
sudo apt-get install php5-fpm
第五步——配置php
We need to make one small change in the php configuration.Open up 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
第六步——配置nginx
打开默认的虚拟主机文件。
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 the php-fpm socket 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$ {”部分更改正确的行
保存并退出
第七步——创建一个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 堆栈现在已在您的虚拟专用服务器上设置和配置。
看更多
安装 LEMP 后,您可以 安装 WordPress,继续使用 MySQL (A Basic MySQL Tutorial) 或 安装 phpMyAdmin,创建 SSL证书,或安装FTP服务器。