一、Nginx简介

1、nginx介绍

nginx是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。
Nginx具有高并发、占用系统资源少等特性。
在功能应用方面,Nginx不仅是一个优秀的Web服务软件,还具有反向代理负载均衡功能缓存服务功能

2、反向代理

2.1 什么是代理服务器?

代理服务器,客户机在发送请求时,不会直接发送给目标主机,而是先发送给代理服务器,代理服务器接收客户寄的请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

2.2 为什么要使用代理服务器?

  • 提高访问速度
    由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户机再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存作用,尤其对于热门站点能明显提高请求速度
  • 防火墙作用
    由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全的信息
  • 通过代理服务器访问不能访问的目标站点
    互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点

2.3 反向代理 VS 正向代理

  • 正向代理
    架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到web服务器上的http请求发送到代理服务器中
  • 反向代理
    架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上的得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器

3、负载均衡

3.1 什么是负载均衡?

负载均衡集群为企业提供了更为实用、性价比更高的系统解决方案。负载均衡集群使客户访问请求压力及负载可以在计算机集群中尽可能平均地分摊处理。客户访问请求负载通常包括应用程序处理负载和网络流量负载。这样的系统非常适合向使用同一组应用程序的大量用户提供服务。每个节点都可以承担一定的访问请求负载压力,并且可以实现访问请求在各节点之间动态分配,以实现负载均衡。
负载均衡集群运行时,一般通过一个或者多个前段负载均衡器将客户访问请求分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。

二、Nginx安装

1、安装编译工具及库文件

[root@nginx ~]# yum install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel -y

2、安装PCRE —— 让nginx支持rewrite功能

2.1 下载PCRE安装包

[root@nginx src]# cd /usr/local/src/
[root@nginx src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

2.2 解压安装包

[root@nginx src]# tar zxvf pcre-8.35.tar.gz 

2.3 进入安装包目录

[root@nginx src]# cd pcre-8.35

2.4 编译安装

[root@nginx pcre-8.35]# ./configure
[root@nginx pcre-8.35]# make && make install

2.5 查看PCRE版本

[root@nginx pcre-8.35]# pcre-config --version
8.35

3、安装nginx

3.1 下载nginx包

官网地址:http://nginx.org/

[root@nginx pcre-8.35]# cd /usr/local/src
[root@nginx src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz

3.2 解压nginx安装包

[root@nginx src]# tar zxvf nginx-1.6.2.tar.gz

3.3 进入安装目录

[root@nginx src]# cd nginx-1.6.2

3.4 编译安装

[root@nginx nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@nginx nginx-1.6.2]# make && make install

3.5 查看nginx版本

[root@nginx nginx-1.6.2]# /usr/local/webserver/nginx/sbin/nginx -v
nginx version: nginx/1.6.2

nginx安装完成

3.6 使用tree命令查看nginx的目录结构

[root@nginx ~]# cd /usr/local/webserver/
[root@nginx webserver]# tree nginx
nginx
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── logs
└── sbin
    └── nginx

4 directories, 18 files

4、启动nginx访问web页面

4.1启动nginx

[root@nginx ~]# cd /usr/local/webserver/nginx/
[root@nginx nginx]# ./sbin/nginx
[root@nginx nginx]# ps -ef | grep nginx
root      11281      1  0 09:56 ?        00:00:00 nginx: master process ./sbin/nginx
nobody    11282  11281  0 09:56 ?        00:00:00 nginx: worker process
root      11285   1615  0 09:56 pts/0    00:00:00 grep --color=auto nginx

nginx常用命令:

/usr/local/webserver/nginx/sbin
./nginx -s stop #停止
./nginx -s quit #退出
./nginx -s reload #重新加载

4.2关闭防火墙和禁用selinux

[root@nginx nginx]# systemctl stop firewalld
[root@nginx nginx]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@nginx nginx]# setenforce 0

4.3浏览器访问

在这里插入图片描述

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐