Nginx

简介

  Nginx是一款轻量级web服务器、也是一款反向代理服务器。

    它的作用有很多:可直接支持Rails和PHP的程序,可作为HTTP反向代理服务器,作为负载均衡服务器,作为邮件代理服务器,帮助实现前端动静分离等。

特点

  高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署等。

安装

  1. 安装gcc(yum install gcc-c++)==》 可输入gcc -v查询版本信息,看系统是否自带gcc
  2. 安装pcre(yum install pcre pcre-devel)
  3. 安装zlib(yum install zlib zlib-devel) - - - - 这些都是ngnix的依赖
  4. 安装openssl(yum install openssl openssl-devel)[注:如需支持ssl,才需安装openssl]
  5. 以上所有的安装可综合起来输入:yum -y install gcc pcre-devel zlib zlib-devel openssl openssl-devel
  6. wget Ngnix的下载连接地址
  7. 解压:tar -zxvf 文件名

配置

  1. 进入ngnix目录之后执行 ./configure :
    1. )也可指定安装目录,增加参数 --prefix = /usr/nginx
    2. )如果不指定路径,可通过whereis nginx进行查询
    3. )默认安装在/usr/local/nginx

  nginx的./configure脚本做了很多工作,例如环境检测、参数解析、目录生成、Makefile文件的生成等。

   2.继续执行make

   3.继续执行make install

Ngnix常用命令

  • 测试配置文件是否有错:安装路径下的 /nginx/sbin/nginx -t
  • 启动命令:安装路径下的 /nginx/sbin/nginx
  • 停止命令:安装路径下的 /nginx/sbin/nginx -s stop   或者是:nginx -s quit
  • 重启命令:安装路径下的 /nginx/sbin/nginx -s reload  (配置文件重新加载)
  • 查看进程命令:ps -ef|grep nginx
  • 平滑重启:kill -HUP PID(Nginx主进程号)

  当nginx接收到HUP信号时,它会尝试先解析配置文件(如果指定文件,就使用指定的,否则使用默认的),如果成功,就应用新的配置文件(例如:重新打开日志文件或监听的套接字),之后,nginx运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务,所有客户端的服务完成后,旧的工作进程就关闭,如果新的配置文件应用失败,nginx再继续使用旧的配置进行工作。

  补充内容:nginx的几种信号

  TERM,INT 快速关闭

  QUIT 从容关闭

  HUP 平滑重启,重新加载配置文件

  USR1 重新打开日志文件,在切割日志时用途较大

  USR2 平滑升级可执行程序

  WINCH 从容关闭工作进程

  • 增加防火墙的访问权限:在iptables文件中加入 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT   ==>重启防火墙(service iptables restart)

反向代理的配置:ngnix虚拟域名(为了不买真实的域名)配置及测试验证

  • 编辑 vim /usr/local/nginx/conf/nginx.conf     增加include vhost/*.conf [这是为了便于管理,以域名作为文件名的前缀]
  • 在/usr/local/nginx/conf/ 目录新建vhost文件夹  即:/usr/local/nginx/conf/vhost
  • 创建域名转发配置文件,详情访问  http://learning.happymmall.com/nginx/linux_conf/vhost/  (后面四个,相关讲解之后会写)
  • 启动(重启)验证:
    1. 启动:${nginx}/sbin/nginx  (${nginx}代表安装在系统中的路径)
    2. 重启:${nginx}/sbin/nginx -s reload
  • 访问验证:使用默认80端口访问验证:http://地址:80

域名配置的几种方式

  1. 指向端口:learning.happymmall.com.conf =>>根据HTTP指向HTTP和端口的配置;

          happymmall.com.conf =>> 即指向端口又指向目录

  

  (1)表示监听端口80;(2)表示是否创建首页索引目录;(3)二级域名;(4)端口转发,当访问域名(3)时,nginx会将请求转移到4号目录下;

  2.指向目录:线上的图片服务器、给前端部署的服务器等都可以通过指向目录来进行反向代理。

(1)当访问域名时,直接指向硬盘的目录

注意:用虚拟域名配置域名转发时,一定要配置host,并且使host生效之后才可以,设置完成之后重启浏览器。

host配置:vim /etc/hosts  ==>  添加对应的域名及ip ==>  wq;

访问虚拟域名时就会进入10.211.55.6

nginx.conf文件的讲解:

蓝线部分是指:加载vhost下的所有后缀为.conf的配置文件。

  

      

原文地址:https://www.cnblogs.com/feixian-blog/p/8613540.html