欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Ubuntu 14.04 LTS 安装 LNMP Nginx/PHP5 (PHP-FPM)/MySQL_MySQL

程序员文章站 2022-06-04 08:32:15
...
LNMPUbuntuNginx

最近在Ubuntu14.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

CentOS6.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:

Ubuntu 14.04 LTS 安装 LNMP Nginx/PHP5 (PHP-FPM)/MySQL_MySQL

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 LTS 安装 LNMP Nginx/PHP5 (PHP-FPM)/MySQL_MySQL

在 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

我们需要调整工作进程数设置,如下面的值设置:

[...]worker_processes4;[...]keepalive_timeout 2;[...]

默认虚拟主机设置文件/etc/nginx/sites-available/default按如下设置:

vi /etc/nginx/sites-available/default

[...]server {	listen 80;	listen [::]:80 default_server ipv6only=on;	root /usr/share/nginx/html;	index index.php index.html index.htm;	# Make site accessible from http://localhost/	server_name _;	location / {		# First attempt to serve request as file, then		# as directory, then fall back to displaying a 404.		try_files $uri $uri/ /index.html;		# Uncomment to enable naxsi on this location		# include /etc/nginx/naxsi.rules	}	location /doc/ {		alias /usr/share/doc/;		autoindex on;		allow 127.0.0.1;		allow ::1;		deny all;	}	# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests	#location /RequestDenied {	# proxy_pass http://127.0.0.1:8080;	#}	#error_page 404 /404.html;	# redirect server error pages to the static page /50x.html	#	error_page 500 502 503 504 /50x.html;	location = /50x.html {		root /usr/share/nginx/html;	}	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000	#	location ~ .php$ {		try_files $uri =404;		fastcgi_split_path_info ^(.+.php)(/.+)$;		# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini		# With php5-cgi alone:		#fastcgi_pass 127.0.0.1:9000;		# With php5-fpm:		fastcgi_pass unix:/var/run/php5-fpm.sock;		fastcgi_index index.php;		include fastcgi_params;	}	# deny access to .htaccess files, if Apache's document root	# concurs with nginx's one	#	location ~ /.ht {		deny all;	}}[...]

取消同时侦听 IPv4IPv6 的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

相关标签: 资源