搭建ngnix环境

转载 2016年08月30日 13:45:26

http://blog.csdn.net/qq_35661734/article/details/52368217


2.Nginx
2.1Nginx简介
Nginx是俄罗斯人开发,开源的,免费的。
Nginx功能:
1)nginx作为http服务器:类似apache,tomcat,遵循http协议。
a)访问图片服务器,加载图片
b)页面静态化:nginx访问html页面。
2)负载均衡(反向代理服务器)
a)高并发
b)提高网站性能
3)高速缓存
a)不建议使用。网站访问量较小,可以使用。
4)保护网站安全。
2.2Nginx作为HTTP服务器
Nginx作为HTTP服务器,类似tomcat,访问页面。
业务使用:
1)访问图片服务器
2)访问Freemarker页面静态化页面

img14.360buyimg.com

http://item.jd.com/

2.3正向代理
正向代理,针对客户机来说,客户机发送请求,不能直接访问服务器,把请求交给代理服务器,代理服务器转发请求给目的服务器,获取请求数据,把数据交给用户。
正向代理特点:
1)从宏观上分析:代理服务器和客户机处于统一机房。
2)客户机是知道代理服务器存在
3)代理服务器必须经过配置然后才能使用。

2.4反向代理服务器
反向代理:针对客户机来说,反向代理服务器针对客户来说是不可见,客户机发送请求,反向代理服务器转发请求,返回结果。
反向代理特点:
1)反向代理服务器和项目部署在 同一个机房。
2)反向代理服务器对客户机是不可见的。

2.5负载均衡
负载均衡是根据http重定向转发请求,提高网站性能。

如果集群中请求机器出现宕机,或者比较忙,nginx修改http请求地址,重定向机器完好,或者不忙的机器,提高网站性能。提高网站容错能力。
2.6高速缓存

Nginx缓存:
Nginx缓存的是一些静态资源:html页面,样式,js都可缓存。
2.7网站安全

Nginx保护网站安全:
主要通过nginx和服务器之间防火墙保护网站安全,防火墙只允许经过nginx请求通过,其他的请求不能通过。
3.nginx安装
3.1下载

进入http://nginx.org/en/download.html 下载nginx1.8.0版本(当前最新稳定版本)。

3.2安装
3.2.1nginx安装环境
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++
PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel

openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel

使用rz命令需要安装插件
yum install lrzsz -y

3.3Linux虚拟机联网
联网环境:NAT路由模式联网
虚拟需要联网:网关正确,DNS服务器必须和当前联网DNS服务器是一个IP。
修改网卡配置文件:
查询网关IP:

修改命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0
1)修改网关
2)DNS服务器IP

3.4安装nginx
1)导入nginx安装包
a)Rz命令导入nginx安装包到usr/local/hadoop目录下面。
2)解压:tar –zxvf nginx-1.8.0.tar.gz
[root@localhost hadoop]# ll
total 161844
-rw-r–r–. 1 root root 8816567 May 5 2015 apache-tomcat-7.0.61.tar.gz
drwxr-xr-x. 8 uucp 143 4096 Oct 8 2013 jdk1.7.0_45
-rw-r–r–. 1 root root 138094686 May 5 02:08 jdk-7u45-linux-x64.tar.gz
drwxr-xr-x. 8 1001 1001 4096 Apr 21 2015 nginx-1.8.0
-rw-r–r–. 1 root root 832104 Jun 8 2015 nginx-1.8.0.tar.gz
3)设置安装参数
进入nginx解压目录进行参数设置:
./configure \
–prefix=/usr/local/hadoop/nginx \
–pid-path=/var/run/nginx/nginx.pid \
–lock-path=/var/lock/nginx.lock \
–error-log-path=/var/log/nginx/error.log \
–http-log-path=/var/log/nginx/access.log \
–with-http_gzip_static_module \
–http-client-body-temp-path=/var/temp/nginx/client \
–http-proxy-temp-path=/var/temp/nginx/proxy \
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
–http-scgi-temp-path=/var/temp/nginx/scgi

–prefix:设置nginx安装路径
/var/temp/nginx目录需要手动创建
创建名令:mkdir -p /var/temp/nginx

3)编译
编译命令:make
4)安装
安装命令:make install
5)启动
a)进入nginx安装目录sbin
b)./nginx
6)访问nginx

4.Nginx命令
4.1Nginx启动流程
Nginx启动时候默认加载安装目录conf/nginx.conf
也可以指定加载配置路径:./nginx –c /usr/local/hadoop/nginx-1.8.0/conf/nginx.conf
4.2启动命令
1)./nginx
2)./nginx –s reload
4.3停止命令
1)./nginx –s stop
解析:强制终止nginx进程。
2)./nginx –s quit
解析:凌迟处死,先让nginx把任务完成,然后终止。
5.Nginx.conf

user nobody;

worker_processes 1; //全局块

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; //events块
}

http { //http块
include mime.types;
default_type application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {  //server块
    listen       80;
    server_name  localhost;

    location / { //资源路径块
        root   html;
        index  index.html index.htm;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}

}

全局块:配置影响nginx全局参数,配置工作进程数。默认1
Events:工作连接数,默认1024.
http块:配置多个Server,配置虚拟主机,负载均衡等等。
Server块:配置服务器,服务器端口,服务器IP地址。
Location块:定位资源文件位置。

6.虚拟主机
虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名.
1)基于端口虚拟主机
2)基于域名虚拟主机
6.1端口虚拟主机
修改nginx.conf配置文件:
http {
include mime.types;
default_type application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {
    listen       80;
    server_name  localhost;

    location / {
        root   html;
        index  index.html index.htm;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}
 server {
    listen       81;
    server_name  localhost;

    location / {
        root   html-81;
        index  index.html index.htm;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}

6.2创建资源访问路径
[root@localhost nginx]# ll
total 16
drwxr-xr-x. 2 root root 4096 May 12 22:56 conf
drwxr-xr-x. 2 root root 4096 May 12 23:17 html
drwxr-xr-x. 2 root root 4096 May 12 23:18 html-81
drwxr-xr-x. 2 root root 4096 May 12 22:56 sbin
nginx配置文件Server就是我们虚拟主机服务器,访问81端口所对应的主机,81端口所对应资源路径是location html-81,访问文件夹html-81中index.html
修改index.html

Welcome to nginx!HTML-81

6.3重启nginx
重启命令:./nginx –s reload

6.4基于域名虚拟主机
理解:

www.jd.com



Jd.search.com

测试访问nginx域名虚拟主机,不需要经过DNS域名解析服务器。可以本地hosts文件,添加以上域名,跳过DNS域名解析服务器。
添加域名:C:\Windows\System32\drivers\etc\hosts

修改nginx.conf配置文件:
http {
include mime.types;
default_type application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {
    listen       80;
    server_name  www.jd.com;

    location / {
        root   html;
        index  index.html index.htm;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}
 server {
    listen       80;
    server_name  jd.search.com;

    location / {
        root   html-81;
        index  index.html index.htm;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}

7.反向代理

www.jd.com



Jd.search.com

代理服务器:客户机发送请求给代理服务器,代理 服务器把请求转发tomcat服务器,tomcat接受请求,处理请求,返回处理结果给代理服务器,代理服务器返回给客户机。

7.1部署tomcat
根据图解,部署2台tomcat服务器:
[root@localhost tomcat-nginx]# ll
total 8
drwxr-xr-x. 9 root root 4096 May 12 23:58 tomcat1
drwxr-xr-x. 9 root root 4096 May 12 23:59 tomcat2
修改tomcat2端口,修改3个端口,tomcat1和tomcat2端口不能相同。

分别修改tomcat1和tomcat2初始化页面:webapps/ROOT/index.jsp

7.2配置nginx.conf
http {
include mime.types;
default_type application/octet-stream;

sendfile        on;

keepalive_timeout  65;

upstream mytomcat1{
server 192.168.66.66:8080;
}

upstream mytomcat2{
server 192.168.66.66:8081;
}

server {
    listen       80;
    server_name  www.jd.com;

    location / {
        #root   html;
        #index  index.html index.htm;
    proxy_pass http://mytomcat1;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}
 server {
    listen       80;
    server_name  jd.search.com;

    location / {
        #root   html-81;
        #index  index.html index.htm;
    proxy_pass http://mytomcat2;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}

1)客户机发送请求www.jd.com
2)Nginx接受请求:通过nginx.conf配置主机Server地址匹配:www.jd.com
3)匹配成功:就会去location下面寻找需要资源
4)在location配置代理:去寻找代理服务器。http://mytomcat1
5)寻找名称是mytomcat1的upstream
6)Upstream负责把请求转发tomcat1,或者tomcat2.

8.负载均衡
发送一个请求给反向代理服务器,反向代理服务器把请求分发给服务器,如果有服务器宕机,nginx重定向请求,如果服务器较忙,nginx也可以转发请求。

www.jd.com



Jd.search.com

根据图解:
部署3台tomcat,www.jd.com访问2台服务器才有负载均衡。
创建tomcat3服务器:
[root@localhost tomcat-nginx]# ll
total 12
drwxr-xr-x. 9 root root 4096 May 12 23:58 tomcat1
drwxr-xr-x. 9 root root 4096 May 12 23:59 tomcat2
drwxr-xr-x. 9 root root 4096 May 13 00:24 tomcat3
修改tomcat3的端口:修改3个端口
修改完端口,启动tomcat3服务器。
8.1配置nginx.conf

http {
include mime.types;
default_type application/octet-stream;

sendfile        on;

keepalive_timeout  65;

upstream mytomcat1{
server 192.168.66.66:8080;
server 192.168.66.66:8082;
}

upstream mytomcat2{
server 192.168.66.66:8081;
}

server {
    listen       80;
    server_name  www.jd.com;

    location / {
        #root   html;
        #index  index.html index.htm;
    proxy_pass http://mytomcat1;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}
 server {
    listen       80;
    server_name  jd.search.com;

    location / {
        #root   html-81;
        #index  index.html index.htm;
    proxy_pass http://mytomcat2;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}

负载均衡流程:
1)客户机发送请求给nginx服务器
2)Nginx的Server匹配请求地址
3)从location寻找资源,没有静态资源,找代理
4)通过proxy_pass转发upstream代理服务器
5)Upstream代理服务器有2台
6)Nginx根据nginx轮询算法访问tomcat服务器(2台服务器都不忙)
8.2负载均衡策略
1)轮询
Nginx代理服务器:upstream中包含的服务器默认权重都是1,也就说tomcat1和tomcat2地位都是平等,访问规则:ACACACAC…………..
2)修改权重
访问规则:ACCACCACC…
upstream mytomcat1{
server 192.168.66.66:8080 weight=1;
server 192.168.66.66:8082 weight=2;
}


相关文章推荐

Nginx学习笔记1-编译Nignx,搭建开发环境

下载nginx源码包,在Nignx的官网上或者SVN上下载都是可以的。 编译nginx需要指定pcre,zlib,openssl,既然我的系统没有安装这些包,我也不安装deb的包了,直接把这些包下载...

Nginx简单配置(Windows环境)

一. 安装Nginx 将下载后的nginx压缩包解压到某个目录下,比如:D:\program\myplatform\Nginx\nginx-1.10.0,解压后的目录结构为: 二. 配置 ...
  • tdcqfyl
  • tdcqfyl
  • 2016年07月22日 10:57
  • 14714

linux环境安装Nginx

在安装之前可以访问官网传送门 进行下载最新的源码包(centos/redhat). 安装还需要以下工具: yum -y install gcc gcc-c++ autoconf automake ...

安装nginx 需要检查的依赖库

nginx是本身就可以实现静态资源的web服务 1、检查安装nginx的依赖性,nginx的模块需要第三方库的支持,检查是否安装下列库: zlib、zlib-devel、openssl、o...
  • skate6
  • skate6
  • 2016年12月14日 13:54
  • 1248

nginx安装及依赖关系的配置记录

一、pcre安装 ./configure --prefix=/usr/local/pcre-8.38 --libdir=/usr/local/lib/pcre --includedir=/usr/l...

ngnix+uwsgi+python+django环境搭建

常见的django webapp 部署方式采用FCGI 或 WSGI的方式部署,今天我这备忘下采用uWSGI的部署方式。 目前我这博客就是采用 Nginx + uWSGI + Python + Dja...

linux搭建ngnix环境

1.Nginx  1.1Nginx简介  Nginx是俄罗斯人开发,开源的,免费的。  Nginx功能:  1)nginx作为http服务器:类似apache,tomcat,遵循http协议。...

ngnix tomcat7 memcache集群session配置系列---环境准备

环境准备 1.apache-tomcat-7.0.53 2.nginx-1.7.9 3.memcache

ngnix tomcat7 memcache集群session配置系列---环境配置

1.使用MemcachedBackupSessionManager 管理tomcatseesion,修改tomcat安装目录下的context.xml加入   ...

(一)Ngnix在Windows下的安装及环境配置

首先也是重要的一个步骤,在Windows环境下如何安装Ngnix服务呢? 前往http://nginx.org/en/download.html  下载合适的版本, 当然推荐的使用MainLine版本...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:搭建ngnix环境
举报原因:
原因补充:

(最多只允许输入30个字)