目录
NGINX介绍
nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件。它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用。
nginx比apache性能改进许多,nginx占用的系统资源更少,支持更高的并发连接,有更高的访问效率。
nginx不但是一个优秀的web服务软件,还可以作为反向代理,负载均衡,以及缓存服务使用。
安装更为简单,方便,灵活。
支持高并发,能支持几万并发连接
资源消耗少,在3万并发连接下开启10个nginx线程消耗的内存不到200M
可以做http反向代理和负载均衡
支持异步网络i/o事件模型epoll
安装配置NGINX
安装nginx前的依赖环境解决
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
依赖包介绍
一. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
三. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
编译安装nginx
可以去官方自行挑选版本:https://nginx.org/download/
#下载;
wget -c https://nginx.org/download/nginx-1.8.0.tar.gz
#解压;
tar -zxvf nginx-1.8.0.tar.gz
#配置,编译安装 开启nginx状态监测功能;
cd nginx-1.8.0
./configure --prefix=/opt/nginx180/ --with-http_ssl_module
make && make install
#找到nginx命令,启动nginx;
cd /opt/nginx180/sbin/
#也可以做个软连接直接通过nginx命令执行;
ln -s /opt/nginx180/sbin/nginx /usr/local/bin/nginx
nginx #启动;
nginx -t #每次修改完配置文件先执行该命令校验
nginx -s reload #重新加载;
nginx -s stop #停止;
#修改PATH;
PATH=$PATH:/opt/nginx180/
/opt/nginx180/sbin/nginx
/opt/nginx180/sbin/nginx -s reload
nginx软件目录
[root@aliyun ~]# cd /opt/nginx180/
[root@aliyun nginx180]# ls -l
total 36
drwx------ 2 nobody root 4096 Aug 16 15:45 client_body_temp
drwxr-xr-x 2 root root 4096 Aug 16 15:32 conf
drwx------ 2 nobody root 4096 Aug 16 15:45 fastcgi_temp
drwxr-xr-x 2 root root 4096 Aug 16 15:32 html
drwxr-xr-x 2 root root 4096 Aug 16 15:49 logs
drwx------ 2 nobody root 4096 Aug 16 15:45 proxy_temp
drwxr-xr-x 2 root root 4096 Aug 16 15:32 sbin
drwx------ 2 nobody root 4096 Aug 16 15:45 scgi_temp
drwx------ 2 nobody root 4096 Aug 16 15:45 uwsgi_temp
- conf 存放nginx所有配置文件的目录,主要nginx.conf
- html 存放nginx默认站点的目录,如index.html、error.html等
- logs 存放nginx默认日志的目录,如error.log access.log
- sbin 存放nginx主命令的目录,sbin/nginx
Nginx主配置文件/opt/nginx180/conf/nginx.conf(默认/etc/nginx/nginx.conf)
是一个纯文本类型的文件,整个配置文件是以区块的形式组织的。一般,每个区块以一对大括号{}
来表示开始与结束。
核心模块:
事件模块:
http内核模块:
部署nginx站点
nginx默认站点是Nginx目录下的html文件夹,这里可以从nginx.conf中查到
如果要部署网站业务数据,只需要把开发好的程序全放到html目录下即可
因此只需要通过域名或者IP,即可访问;