Nginx编译安装

1,Nginx

2,Nginx的三大主要功能

1)网页功能:
自身是静态web服务,apache,lighttp,IIS。
还支持动态web服务PHP(fastchi_pass)
JAVA(proxy_pass)
Python(uwsgi_pass)
memcache(memcache_pass)
2)负载均衡/反向代理(以前只支持http,现在支持tcp/udp协议)
3)缓存服务器

3,特点

最大特点静态小文件高并发,占用资源少。软件本身小。

4,Nginx主要应用场景:

1)静态web服务器:使用Nginx运行HTML、JS、CSS、小图片等静态数据(此功能类似lighttpd软件)。
2)配个运行动态web服务器:
Nginx结合FastCGI运行PHP等动态程序(例如使用fastcgi_pass方式)。
Nginx结合proxy_pass支持Java动态程序(tomcat/resin服务)。
Nginx结合uwsgi_pass支持python。
3)反向代理/负载均衡(http负载均衡)
4)做web缓存服务器(把文件放入内存里)。

5,反向代理与负载均衡

正向代理:代替局域网内pc,请求外部的应用服务器。
反向代理:代替外部的用户请求内部的应用服务器。
负载均衡:转发、效率高,做个甩手掌柜。

6,为什么Nginx总体性能比Apache高?

Nginx使用最新的epoll和kqueue(freebsd)异步网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached软件都采用的是epoll模型。
Apache则使用的是传统的select模型,Nginx使用高并发的epoll模型。
通俗易懂:
select模型:伙伴去宿舍找你,一个一个找,效率很低。
epoll模型:伙伴去宿舍找你,先问宿管大妈,看看在哪间宿舍,然后直奔具体宿舍。效率高。
select模型:小孩撒尿,如果尿尿拉出来,带着尿尿。
epoll模型:小孩撒尿,事先告诉所有小孩,如果要尿尿,你就站出来。

7,软件安装

1,rpm安装:安装简单,速度快,依赖多,解决依赖困难繁琐。
2,yum安装:安装简单,速度快,自动解决依赖,不能选择软件版本或软件存放路径。
3,编译安装:速度慢,安装复杂,需要GCC编译器,可以自定义安装(版本、软件路径)
4,将源码制作成rpm,然后放到yum仓库,实现yum自动安装。第一次制作复杂,速度慢,后面使用起来安装速度快,可以自定义安装(版本、软件路径)
5,二进制安装

8,nginx安装(下面二选一)

8.1,yum安装(安装完启动systemctl start nginx,然后开机自启)
1)epel源:版本低
2)nginx官方源:版本高
8.2,编译安装
pcre:URL重写软件,即实现伪静态需要这个软件
安装步骤
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(安装依赖包)
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
或者
useradd nginx -u 1111 -s /sbin/nologin -M 并查看一下这个用户id nginx
./configure  --user=nginx --group=nginx --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
8.3,编译安装配置
[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       #启动命令。
8.4,yum安装路径
[root@web01 ~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx          
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/modules
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx

你可能感兴趣的:(Nginx编译安装)