概念简单了解:
Nginx("enginex") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。根据调查显示Nginx+PHP(FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
下面我们一起来配置CentOS+Nginx+MySQL+php组成的架构。
--------------------------------------------------------------------------------
环境信息介绍:
系统版本:CentOS6.4x86_64
Nginx版本:nginx-1.4.2.tar.gz
数据库版本:mysql-5.5.33.tar.gz
数据库管理工具:phpMyAdmin-4.0.5-all-languages.zip
加速器版本:xcache-3.0.3.tar.bz2
PHP版本:php-5.4.19.tar.bz2
--------------------------------------------------------------------------------
实现步骤:
一、安装配置Nginx:
1、解决依赖关系
编译安装nginx需要事先需要安装开发包组"DevelopmentTools"和"Server Platform Development"。同时,还需要专门安装pcre-devel包
[root@yong ~]# yum groupinstall "Development tools" "Server Platform Development"
[root@yong ~]# yum -y install pcre-devel
2、编译安装Nginx
首先添加用户nginx,实现以之运行nginx服务进程:
1 [root@yong ~]# useradd -r nginx
其次解压缩nginx查看介绍编译安装选项:
[root@yong ~]# tar xf nginx-1.4.2.tar.gz #解压nginx
[root@yong ~]# cd nginx-1.4.2 #切换目录
[root@yong nginx-1.4.2]# ./configure --help | less #查看编译选项
--help print this message
--prefix=PATH set installation prefix #目录
--sbin-path=PATH set nginx binary pathname #二进制程序的安装目录
--conf-path=PATH set nginx.conf pathname #配置文件路径
--error-log-path=PATH set error log pathname #错误路径
--pid-path=PATH set nginx.pid pathname #pid路径
--lock-path=PATH set nginx.lock pathname lock路径
--user=USER set non-privileged user for worker processes #以哪个身份运行
--group=GROUP set non-privileged group for worker processes #以哪个组的身份运行
--builddir=DIR set build directory
--with-rtsig_module enable rtsig module #启用实时信号模块
--with-select_module enable select module #支持select机制模块
--without-select_module disable select module
--with-poll_module enable poll module
--without-poll_module disable poll module
--with-file-aio enable file AIO support #支持文件的AIO机制的,重要的特性增强
--with-ipv6 enable IPv6 support
--with-http_ssl_module enable ngx_http_ssl_module #支持SSL功能
--with-http_flv_module enable ngx_http_flv_module #支持flv流媒体
###############更多选项笔者就不在介绍了############
###############我们这里用到的选项如下##############
[root@yong nginx-1.4.2]# ./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-pcre
##############安装######################
[root@yong nginx-1.4.2]# make && make install
3、查看Nginx的配置文件
Nginx的配置有着几个不同的上下文:main、http、server、upstream和location(还有实现邮件服务反向代理的mail)。配置语法的格式和定义方式遵循所谓的C风格,因此支持嵌套,还有着逻辑清晰并易于创建、阅读和维护等优势。
[root@yong ~]# vim /etc/nginx/nginx.conf
#user nobody;
worker_processes 1; #启动多少个进程(和CPU的核心个数相关)
#error_log logs/error.log; #错误日志定义
#error_log logs/error.log notice;
#error_log logs/error.log info;
#由于我们此前编译时已经指定了错误日志位置所以这里默认注释掉了。
#pid logs/nginx.pid;
events {
worker_connections 1024; #一个进程允许多少个连接进来(受限于当前用户所能够打开的最大数(ulimit –n 查看最大数))
}
#################以上这些为全局配置文件##############
http { #####这些为http服务相关的配置信息####
include mime.types;
default_type application/octet-stream; #定义默认类型
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #日志格式
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on; #支持sendfile(sendfile:提升文件传输速率)
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65; #是否支持长连接
#gzip on;
server { ###在nginx中至少有一个虚拟主机,它不支持中心主机
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / { #匹配的是URL文件,location=…表示精确匹配
root html;
index index.html index.htm;
}
##############下面就不再一一介绍了############
相关阅读:
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置
CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12)
RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind
LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP