共计 9104 个字符,预计需要花费 23 分钟才能阅读完成。
最近在 Ubuntu 14.04 LTS 安装 LNMP 一键安装包的时候出现了问题,PHP 5 服务没有启动,只好使用 Ubuntu 官方源进行安装:
Nginx(读音“engine x”)免费、开源、高效的 HTTP 服务。Nginx 是以稳定著称,功能丰富,结构简单,低资源消耗。本教程将演示如何在 ubuntu 14.04 服务器中安装 nginx、PHP5(php-fpm)、MySQL。
—————————————- 分割线 —————————————-
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 6.4 下的 LNMP 生产环境搭建及安装脚本 http://www.linuxidc.com/Linux/2013-11/92428.htm
生产环境实用之 LNMP 架构的编译安装 +SSL 加密实现 http://www.linuxidc.com/Linux/2013-05/85099.htm
LNMP 全功能编译安装 for CentOS 6.3 笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm
CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
—————————————- 分割线 —————————————-
1 安装前提示
本文采用的主机名称:server1.example.com,IP 地址:192.168.0.100。可能与你的主机有所不同,自行修改。
安装中我们使用 root 账户,先进行用户切换:
sudo su
2 安装 MySQL 5 数据库
安装 MySQL 运行命令:
apt-get install mysql-server mysql-client
安装过程中会询问建立 Root 账户密码,连续输入两次:
New password for the MySQL“root”user: <– 输入你的密码
Repeat password for the MySQL“root”user: <– 再输入一次
3 安装 Nginx
在安装 Nginx 之前,如果你已经安装 Apache2 先删除在安装 nginx:
service apache2 stop
update-rc.d -f apache2 remove
apt-get remove apache2
apt-get install nginx
启动 nginx 服务:
service nginx start
试试安装是否成功,在浏览器输入 IP 或主机地址 (e.g. http://192.168.0.100),如下图所示,说明安装成功:
在 Ubuntu 14.04 中默认的根目录为 /usr/share/nginx/html.
4 安装 PHP5
我们必须通过 PHP-FPM 才能让 PHP5 正常工作,安装命令:
apt-get install php5-fpm
php-fpm 是一个守护进程。
5 配置 nginx
使用 Vi 打开配置文件/etc/nginx/nginx.conf:
vi /etc/nginx/nginx.conf
配置不是很容易明白,可以参考:http://wiki.nginx.org/NginxFullExample 和 http://wiki.nginx.org/NginxFullExample2
我们需要调整工作进程数设置,如下面的值设置:
|
默认虚拟主机设置文件 /etc/nginx/sites-available/default 按如下设置:
vi /etc/nginx/sites-available/default
|
取消同时侦听 IPv4 和 IPv6 的 80 端口。
server_name _; 默认主机名 (当然你可以修改,例如修改为:www.example.com).
index 主页这一行我们加入 index.php。
PHP 重要配置配置 location ~ .php$ {} 这几行我们需要启动,反注释掉。另外再添加一行:try_files $uri =404。
(其他配置查看 http://wiki.nginx.org/Pitfalls#Passing_Uncontrolled_Requests_to_PHP 和 http://forum.nginx.org/read.php?2,88845,page=3).
保存文件并重新加载 nginx 命令:
service nginx reload
如果加载失败,直接用删除所有配置内容,用上面的信息替换。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/102351p2.htm
打开配置文件 /etc/php5/fpm/php.ini…
vi /etc/php5/fpm/php.ini
… 如下设置 cgi.fix_pathinfo=0:
|
重新加载 PHP-FPM:
service php5-fpm reload
现在创建一个探针文件保存在 /usr/share/nginx/html目录下
vi /usr/share/nginx/html/info.php
|
浏览器下访问探针文件 (e.g. http://192.168.0.100/info.php):
正如你看到的 PHP5 正在运行,并且是通过 FPM/FastCGI,向下滚动,我们看看那些模块已经启动,MySQL 是没有列出这意味着我们没有 MySQL 支持 PHP5。
6 下面让 PHP5 支持 MySQL
先搜索一下,看看那些模块支持:
apt-cache search php5
然后使用下面的命令安装:
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
APC 是一个自由和开放的 PHP 操作码缓存器缓存和优化 PHP 的中间代码。这是类似于其他 PHP 操作码 cachers,如 eAccelerator、XCache。这是强烈建议有一个安装加速你的 PHP 页面。
使用下面的命令安装 APC:
apt-get install php-apc
现在重新加载 PHP-FPM:
service php5-fpm reload
刷新 http://192.168.0.100/info.php 向下滚动看看模块是否支持:
7 让 PHP-FPM 使用 TCP 连接
默认情况下 PHP-FPM 侦听的是 /var/run/php5-fpm.sock,要让 PHP-FPM 使用 TCP 连接,需要打开编辑配置文件 /etc/php5/fpm/pool.d/www.conf…
vi /etc/php5/fpm/pool.d/www.conf
按照下面的修改信息
|
这将使 php-fpm 侦听端口 9000 上的 IP 127.0.0.1(localhost)。确保你使用的端口不在你的系统上使用。
重新加载 PHP-FPM:
service php5-fpm reload
下面通过配置 nginx 修改主机,更改这一行注释掉 fastcgi_pass unix:/var/run/php5-fpm.sock; 这一行反注释 fastcgi_pass 127.0.0.1:9000;, 按照下面的设置:
vi /etc/nginx/sites-available/default
|
重新加载 nginx:
service nginx reload
8 CGI/Perl Scripts
如果你想 Nginx 支持 CGI/Perl 脚本服务,可阅读此教程 Serving CGI Scripts With Nginx On Debian Squeeze/Ubuntu 11.04
推荐的方法是使用 fcgiwrap(4 章)
9 相关参考链接:
- nginx: http://nginx.net/
- nginx Wiki: http://wiki.codemongers.com/Main
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Ubuntu: http://www.ubuntu.com/
更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
最近在 Ubuntu 14.04 LTS 安装 LNMP 一键安装包的时候出现了问题,PHP 5 服务没有启动,只好使用 Ubuntu 官方源进行安装:
Nginx(读音“engine x”)免费、开源、高效的 HTTP 服务。Nginx 是以稳定著称,功能丰富,结构简单,低资源消耗。本教程将演示如何在 ubuntu 14.04 服务器中安装 nginx、PHP5(php-fpm)、MySQL。
—————————————- 分割线 —————————————-
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 6.4 下的 LNMP 生产环境搭建及安装脚本 http://www.linuxidc.com/Linux/2013-11/92428.htm
生产环境实用之 LNMP 架构的编译安装 +SSL 加密实现 http://www.linuxidc.com/Linux/2013-05/85099.htm
LNMP 全功能编译安装 for CentOS 6.3 笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm
CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
—————————————- 分割线 —————————————-
1 安装前提示
本文采用的主机名称:server1.example.com,IP 地址:192.168.0.100。可能与你的主机有所不同,自行修改。
安装中我们使用 root 账户,先进行用户切换:
sudo su
2 安装 MySQL 5 数据库
安装 MySQL 运行命令:
apt-get install mysql-server mysql-client
安装过程中会询问建立 Root 账户密码,连续输入两次:
New password for the MySQL“root”user: <– 输入你的密码
Repeat password for the MySQL“root”user: <– 再输入一次
3 安装 Nginx
在安装 Nginx 之前,如果你已经安装 Apache2 先删除在安装 nginx:
service apache2 stop
update-rc.d -f apache2 remove
apt-get remove apache2
apt-get install nginx
启动 nginx 服务:
service nginx start
试试安装是否成功,在浏览器输入 IP 或主机地址 (e.g. http://192.168.0.100),如下图所示,说明安装成功:
在 Ubuntu 14.04 中默认的根目录为 /usr/share/nginx/html.
4 安装 PHP5
我们必须通过 PHP-FPM 才能让 PHP5 正常工作,安装命令:
apt-get install php5-fpm
php-fpm 是一个守护进程。
5 配置 nginx
使用 Vi 打开配置文件/etc/nginx/nginx.conf:
vi /etc/nginx/nginx.conf
配置不是很容易明白,可以参考:http://wiki.nginx.org/NginxFullExample 和 http://wiki.nginx.org/NginxFullExample2
我们需要调整工作进程数设置,如下面的值设置:
|
默认虚拟主机设置文件 /etc/nginx/sites-available/default 按如下设置:
vi /etc/nginx/sites-available/default
|
取消同时侦听 IPv4 和 IPv6 的 80 端口。
server_name _; 默认主机名 (当然你可以修改,例如修改为:www.example.com).
index 主页这一行我们加入 index.php。
PHP 重要配置配置 location ~ .php$ {} 这几行我们需要启动,反注释掉。另外再添加一行:try_files $uri =404。
(其他配置查看 http://wiki.nginx.org/Pitfalls#Passing_Uncontrolled_Requests_to_PHP 和 http://forum.nginx.org/read.php?2,88845,page=3).
保存文件并重新加载 nginx 命令:
service nginx reload
如果加载失败,直接用删除所有配置内容,用上面的信息替换。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/102351p2.htm