赞
踩
1.1 什么是nginx
nginx (engine x)是一个可以作为HTTP WEB服务器、反向代理服务器、邮件代理服务器和一个通用的TCP /
UDP代理服务器(1.9.0版本后)的多功能架构组件,同时也可以提供一定的缓存服务功能。
Nginx是一个高性能web服务。应用场景:1、web服务2、正反向代理3、API(lua)
1、 WEB服务器:这是应用比较多的场景,配置虚拟主机提供HTTP
WEB服务。可以先通过动态/静态内容分离,而后为静态内容(html/css/js/图片等)提供HTTP访问功能;而动态内容可以整合代理模块,代理给上游服务器,来支持对外部程序的直接调用或者解析,如FastCGI支持PHP。
2、 反向代理服务器:这是应用非常多的场景,为后端服务器代理。接收客户端请求,根据负载均衡策略转发给后端多个上游服务器处理;然后再等待后端服务器返回请求响应,接收到后再返回给请求的客户端。
1.2 Nginx和apache的区别
Apache全称是apache http server,它是apache软件基金会的一个开源的网页伺服服务器软件。
Apache支持多模块,可以解析静态页面也可以解析动态页面。 扩展:静态页面有html、图片等,但是可以通过扩展脚本、模块来支持动态页面。
静态页面:不需要编程解析的。Html,javascript
动态页面:就需要进行解析的页面。Jsp,php。每个用户提交的请求不一样结果就不一样。
Nginx也是一款开源的http server,它是由俄罗斯人编写的轻量级的http服务。
但是nginx本身不支持生成动态页面,所以更多的是使用nginx来做反向代理和负载均衡。
Nginx使用异步非阻塞型的事件驱动的方法来处理请求的,而apache是通过同步阻塞型的方法来处理请求的。
Apache是一个进程处理一个请求,默认最高是256进程 Nginx是由一个master进程和多个worker进程组成
1.3 Nginx源码编译安装
安装依赖
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
依赖包详解可参考:依赖包参考资料
下载源码包
wget http://nginx.org/download/nginx-1.14.0.tar.gz
解压
[root@localhost nginx-1.16.1]# tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/
进入解压目录
[root@localhost nginx-1.16.1]# cd /usr/local/nginx-1.16.1
创建用户和用户组
[root@localhost nginx-1.16.1]# groupadd nginx
[root@localhost nginx-1.16.1]# useradd -g nginx nginx
编译
[root@localhost nginx-1.16.1]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-stream --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-threads
查看是否安装成功echo $?输出0为安装成功
echo $?
0
安装
[root@localhost nginx-1.16.1]# make && make install
启动文件路径再你编译的时候生产的目录下
/usr/local/nginx/sbin
查询安装版本
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -V
检测配置文件是否正确(一般修改完毕配置文件需要检测下是否配置正确)
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -t
启动nginx服务并查看进程
[root@localhost sbin]# /usr/local/nginx/sbin/nginx
[root@localhost sbin]# ps -ef | grep nginx
停止服务运行
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -s stop
重载(修改完配置文件,不关闭nginx服务,只重新加载配置文件)
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -s reload
Nginx 配置默认配置路径
Nginx的主配置文件路径:
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.confNginx日志文件路径:
[root@localhost ~]# cd /usr/local/nginx/logs/
Nginx前端代码路径:
[root@localhost ~]# cd /usr/local/nginx/html/
页面测试(nginx页面开启的是80端口)
首先要关闭防火墙和selinux
[root@localhost sbin]# systemctl stop firewalld;setenforce 0
访问nginx下默认页面
http://192.168.1.110/
注意:如果是普通用户进行安装,在编译的时候需要针指定编译安装路径
进入nginx安装目录nginx-1.16.1
修改configure 文件中的NGX_PREFIX,自动普通用户安装的路径
NGX_PREFIX=${NGX_PREFIX:-/home/wuyue/nginx}
普通用户路径:–prefix=/home/wuyue/nginx,然后进行编译
./configure --user=nginx --group=nginx --prefix=/home/wuyue/nginx --with-stream --with-http_ssl_module --without-http_rewrite_module --with-http_realip_module --with-threads
安装
make && make install
1.4 Nginx配置详解
expires 1h;一小时清理一次浏览器缓存
expires 1d;一天清理一次
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。