nginx

1. nginx简介

Nginx是一个异步框架的web服务器,可用于web服务、http缓存、反向代理、邮件代理和通用TCP/UPD代理,根据Netcraft的2018年2月统计nginx服务或代理了 25.92%最繁忙的网站,该软件由俄罗斯程序员伊戈尔·赛索耶夫于2004发布。而我们环境中最常见用于web服务,反向代理和负载均衡。

Nginx是一款免费的开源软件,当前最新稳定版是1.12。

 

2. nginx功能

2.1最基本的HTTP服务器功能

   提供静态和索引文件(常用,直接打开index.html文件)

   反向代理(常用)

   负载均衡和容错(常用)

   通过缓存FastCGI、memcached服务器加速

   SSL支持(常用,用于启动网站https)

   支持HTTP/2

2.2其他HTTP服务器功能

   虚拟服务器(常用)

   保持连接和长连接

   日志访问格式

   3xx-5xx错误代码重定向

   重定向

   Acl控制(根据ip设置白名单访问)

2.3 邮件代理服务器(很少使用) 

   http认证服务重定向到IMAP或POP3服务器

2.4 TCP/UDP代理服务器  

支持tcp和udp的通用代理(偶尔使用)

3. 体系结构和可扩展

  默认运行在nginx用户下,一个主进程和六个子进程

  配置后可热加载,无需重启

  支持跨平台:linux、windows、maxOS

  支持各种epoll功能(事件功能)

  支持各种模块

 

4. 安装nginx

//安装nginx 最新稳定版本,目录是1.12,这边需要注意的tcp代理最代版本要求是1.9,所以安装nginx最好选择在1.9之后

4.1将nginx官方源写到本机的yum文件中(自动判断centos7或centos6)

 

cat > /etc/yum.repos.d/nginx.repo <<!
 
[nginx]
 
name=nginx repo
 
baseurl=http: //nginx.org/packages/centos/\$releasever/\$basearch/
 
gpgcheck= 0
 
enabled= 1
 
!

 

4.2 刷新一下缓存

yum clean all

4.3 安装nginx

yum install nginx -y

4.4 设置nginx开机启动(自动判断centos7或centos6)

systemctl enable nginx || chkconfig nginx on

4.5 启动nginx(可用table键补全)

/etc/init.d/nginx start

4.6 查看nginx是否启动(默认nginx启动80端口)

netstat -tunlp | grep  80

4.7 查看nginx日志

Cat /var/log/nginx/access.log

 

5. 配置nginx

nginx主配置文件目录为/etc/nginx/nginx.conf

其中包含配置文件夹/etc/nginx/conf.d/ 所以主配置和包含不冲突的情况都生效。

现在切换到/etc/nginx/conf.d/  目录下新建配置文件。

5.1 配置nginx 为web服务器

   新建一个web.conf配置文件,内容如下:

   

server {
 
            listen  80 ;
 
            server_name  jxqtest.trc.com  10.200 . 131.138 ;
 
            root html;
 
            location / {
 
              index index.html;
 
              root /data/ static ;
 
            }
 
}

 

然后重载nginx,命令: /etc/init.d/nginx reload 然后在本地写hosts文件中写上nginx的ip: 10.200.131.138 jxqtest.trc.com  就可以使用jxqtest.trc.com访问这个web服务器了。 nginx的内容就写在/data/static/这个目录下,或者直接访问测试环境消息中心的ip也可以 10.200.131.138  这里为什么可以不加端口就能访问到,是因为浏览器默认就是80端口,其他端口就需要写ip:port的方式访问

 

5.2 配置nginx为反向代理服务器

新建一个proxy.conf的配置文件,内容如下:

server {
 
            listen  80 ;
 
            server_name  jxq.trc.com;
 
            root html;
 
            location ^~ /manager/ {
 
                  proxy_pass http: //10.200.131.138:2048/;
 
            }
 
        }

 

然后重载nginx,命令: /etc/init.d/nginx reload然后在本地hosts文件中写上nginx的ip:  10.200.131.138 jxq.trc.com

然后通过访问jxq.trc.com/manager 就可以访问到消息中测试环境的manager服务了,这就是一个简单的反向代理配置

 

5.3 配置nginx负载均衡

新建一个upstream.conf配置文件,内容如下:

upstream    sms-test {
 
       server    10.200 . 131.138 : 8080 ;
 
       server    10.200 . 131.137 : 8080 ;
 
    }
 
    server {
 
            listen  80 ;
 
            server_name  jxq2.trc.com;
 
            location ^~ /sms/ {
 
                  proxy_pass http: //sms-test/;
 
           }
 
        }

 

        然后重载nginx,命令: /etc/init.d/nginx reload然后在本地hosts文件中写上nginx的ip:  10.200.131.138 jxq2.trc.com,通过访问jxq2.trc.com/sms 就可以访问到测试环境消息中心的sms服务了。在upstream定义了2台服务器,每次访问都会选择一台服务器,这样就实现负载均衡。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值