如何在 Ubuntu 12.04 上安装 Linux、nginx、MySQL、PHP (LEMP)
状态:已弃用
本文涵盖不再受支持的 Ubuntu 版本。如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
- 升级到 Ubuntu 14.04。
- 从 Ubuntu 14.04 升级到 Ubuntu 16.04
- 将服务器数据迁移到支持的版本
原因:
请参阅:
关于 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
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 后,您可以安装 FTP 服务器。