1、Nginx介绍
Nginx(“engine x”)是一个开源的,支持高性能、高并发的WWW服务和代理服务软件。
2、nginx3大主要功能
1)、网页服务:Web服务
apache、lighttpd、IIS
还支持动态Web服务
PHP(fastchi_pass)
JAVA(Proxy_pass)
Python(uwsgi_pass)
memcache(memcache_pass)
2)、负载均衡\反向代理
haproxy、lvs、F5、netscaler
只支持http, 现在TCP/UDP
3)、缓存服务器
squid、varnish
3、特点:
2008冒头,当时Apache老大,Nginx如何超越对手。
Apache 43% Nginx 42%
特点:静态小文件高并发,占用资源少。软件本身小。
企业面试时需要解答如下Nginx HTTP服务器的特色及优点:
4、Nginx主要应用场景:
1)、静态Web服务器:
使用Nginx运行HTML、JS、CSS、小图片等静态数据(此功能类似lighttpd软件)
2)、配合运行动态Web服务器
Nginx结合FastCGI运行PHP等动态程序(例如使用fastcgi_pass方式)
Nginx结合proxy_pass支持Java动态程序(tcmcat/resin服务)。
Nginx结合uwsgi_pass支持Python。
3)、反向代理/负载均衡
http负载均衡
4)、做Web缓存服务器(把文件放在内存里)
5、反向代理与负载均衡
代理:代替被人做事。
负载均衡的区别:
正向代理:由内向外。代替,效率低
代替局域网内PC,请求外部应用服务。
反向代理:由外向内 。 代替,效率低
代替外部的用户 请求内部的应用服务器
负载均衡:转发、效率高。
6、为什么Nginx总体性能比Apache高:
nGINX使用最新的epoll(Linux2.6内核)和Kqu学(freebasd)
8、nginx安装
两种安装方法
yum安装
epel源
编译安装
pcre:URL重写软件,即实现伪静态需要这个软件
[root@web ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
下载:
mkdir -p /server/tools
cd /server/tools
wget http://nginx.org/download/nginx-1.16.0.tar.gz
安装依赖。
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y #https加密用他。
编译安装步骤
tar xf nginx-1.16.0.tar.gz
cd nginx-1.16.0/
useradd -s /sbin/nologin www -M
id www
./configure --user=www --group=www --prefix=/application/nginx-1.16.0/ --with- http_stub_status_module --with-http_ssl_module --with-pcre 注意路径
make
make install 安装
ln -s /application/nginx-1.16.0/ /application/nginx 创建软连接
/application/nginx/sbin/nginx
netstat -lntup|grep nginx 查端口
注意:
1)每一步结尾直接echo $?验证是否正确。返回0代表步骤正确
2)验证最终的安装是否正确。
configure参数的作用
--prefix=PATH 路径
--user=USER 用户
--group=GROUP 组
--with-pcre 伪静态
--with-http_stub_status_module 状态
--with-http_ssl_module 加密 443
编译安装配置:
[root@web02 /application/nginx]# tree
.
├── conf
│ ├── fastcgi.conf #和动态服务的接口配置参数,配合php
│ ├── 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 #和动态服务的接口配置参数,配合Python
│ └── win-utf
├── fastcgi_temp
├── html #默认站点目录。
│ ├── 50x.html
│ └── index.html #默认的首页,10.0.0.8不指定文件,默认加载index.html首页。
├── logs
│ ├── access.log #访问日志
│ ├── error.log #Nginx错误日志。
│ └── nginx.pid #进程号对应文件。
├── sbin
│ └── nginx #启动命令。