软件安装主要造型是采用LNMP
L:Linux,distribution为CentOS-5.x-x86_64
CentOS(Community ENTerprise OperatingSystem)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red HatEnterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
相关阅读: CentOS 5.5安装Nginx、PHP(FastCGI)、MySQL --搭建LNMP环境安装Wordpress 见
N:Nginx 1.0.x
Nginx("engine x") 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
Nginx 可以在大多数 Unixlike OS 上编译运行,并有Windows 移植版。Nginx 的源代码使用 2-clause BSD-like license。
Nginx 是一个很牛的高性能Web和反向代理服务器,它具有很多非常优越的特性:
在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
Nginx作为负载均衡服务器:Nginx既可以在内部直接支持Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal要好很多。
作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last. fm 描述了成功并且美妙的使用经验。
Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
M:MySQL 5.0.x
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
P:PHP 5.3.x
PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。 PHP安装它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展!
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。
PHP最新稳定版本:5.3.8(2011.8.23)
安装选型:使用YUM套件和安装和管理软件。优点请见6.4
1.1 L:CentOS 5.xCentOS-5.5-x86_64
软件防火墙开启,对外只开通SSH和HTTP的端口
系统准备工作:建立用户和用户组,并设置密码(安装时密码可以与用户名相同,装完后让root用户修改密码)
group add nginx
useradd nginx –g nginx
passwd nginx
group add mysql
useradd nginx –g mysql
passwd mysql
group add php
useradd nginx –g php
passwd php
为让此三个用户能使用sudo命令以提高权限
visudo
修改内容如下:(注意,安装完后,删除此三个配置)
## Allow root to run anycommands anywhere
root ALL=(ALL) ALL
mysql ALL=(ALL) ALL
nginx ALL=(ALL) ALL
php ALL=(ALL) ALL
建立WWW目录并设置权限
rm –rf /var/www #先删除
mkdir /var/www
cd /var/www
vim index.php
输入<?php phpinfo()?>,保存退出(用于测试php)
vim index.html
输入nginx okay,保存退出(用于测试nginx)
chown –R php:php /var/www
chmod +w /var/www
1.2 N:Nginx 1.0.xnginx现已经提供yum安装的方式
用root 登录系统
修改资料库
vim /etc/yum.repos.d/nginx.repo
输入以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/5/$basearch/
gpgcheck=0
enabled=1
保存退出,新建立用yum 安装最新版的nginx
su – nginx
sudo yum install nginx
加入开机启动项
chkconfig nginx on
常用命令:
service nginx start #启动
service nginx stop #停止
service nginx configtest #测试配置文件正确性
完整命令列表:
service nginx
start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest
配置文件位置
/etc/nginx/nginx.conf
/etc/nginx/conf.d/*.conf
多个站点放在conf.d目录,在nginx.conf用include语法包含
include /etc/nginx/conf.d/*.conf;
修改配置并测试
vim /etc/nginx/conf.d/default.conf
以下部分修改
location / {
root /var/www; #此处修改成/var/www
index index.html index.htm;
}
和PHP相关的修改
# pass the PHP scripts to FastCGIserver listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; #修改此处
include fastcgi_params;
}
启动nginx服务,并访问