1、Nginx和Tengine概述及安装、启动
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POPS/SMTP代理服务器。
官方测试Nginx能够支撑5W并发链接,并且CPU、内存等资源消耗却非常低,运行非常稳定。
Nginx和Apache的优缺点:
1、nginx相对于apache的优点:轻量级,同样起web 服务,比apache 占用更少的内存及资源抗并发,nginx处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊
2.apache 相对于nginx的优点:rewrite ,比nginx的rewrite 强大模块超多,基本想到的都可以找到少bug ,nginx的bug 相对较多
3、Nginx 配置简洁, Apache 复杂
4、最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程
Tengine
Tengine是Nginx的加强版,封装版,淘宝开源的。
单个tomcat支持最高并发
如何解决高并发问题,解决单个服务器过载问题。
前端和后端架构
Tomcat,一个Servlet和JSP容器
前端服务器处理静态页面。HTML/CSS JS 图片等存放在前端服务器上。(动静分离)
前端服务器(Nginx):
1.均衡负载
2.静态的Web服务器
---------------------------------------------------------------【安装】----------------------------------------------------------------
【选择编译安装】
安装之前准备
1、依赖gcc openssl-devel pcre-devel zlib-devel
安装:yum -y install gcc openssl-devel pcre-devel zlib-devel
2、创建用户和用户组。为了方便nginx运行而不影响linux安全
创建组:groupadd -r nginx
创建用户:useradd -r -g nginx -M nginx
-M 表示不创建用户的家目录。
简洁方式:
./configure \
--prefix=/usr/tengine
make && make install
企业标准安装
./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
make && make install
一般安装
./configure \
--prefix=/opt/soft/tengine-2.1.0/ \
--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\
--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
make && make install
启动和配置路径用默认的,用户和用户组限制,都去掉
其中/var/tmp/nginx/client/目录需要手动创建
因为是编译安装,所以最好添加到注册服务。(启动服务脚本)
添加安装的tengine到注册表,具体内容见附件nginx
注意修改路径,而且必须是在/etc/init.d、下面touch或者vi来新建
不能用xftp传进去,否则文件不被识别
1、修改nginx文件的执行权限
chmod +x nginx
2、添加该文件到系统服务中去
chkconfig --add nginx
查看是否添加成功
chkconfig --list nginx
启动,停止,重新装载
service nginx start|stop|reload