• Nginx服务及编译安装


    第1章 Nginx

    1.1 nginx的概念

    Nginx("engine x")是一个开源的、支持高性能、高并发的WWW服务和代理服务软件,具有高开发(特别是静态资源),占用系统资源少等特性。

    Nginx可以运行在Unix、Linux、BSD、Mac OSX、Solaris,以及Microsoft Windows等操作系统中,随着Nginx在国内很多大型网站的稳定高效运行,近两年也逐渐被越来越多的中小型网站所使用,当前流行的Nginx Web组合被称为LNMP或LEMP(即Linux+Nginx+MySQL+PHP)

    http://oldboy.blog.51cto.com/2561410/775056

    https://www.unixhot.com/page/ops

    https://www.unixhot.com/page/cache 

    1.2 Nginx的重要特性及应用场合

    1.2.1 ***Nginx的重要特性

    01. 支持高并发:能支持几万并发连接(特别是静态小文件业务环境)

    02. 资源消耗少:在3万的并发连接下,开启10个Nginx线程消耗的内存不到200MB

    03. 可以做HTTP反向代理及加速缓存,即负载均衡功能[OSI 4-7层]

    内置对RS节点服务器健康检查功能,相当于专业的Haproxy软件或LVS[4层]功能

    04. 具备Squid等数据缓存软件等的缓存功能(mencache/redis)

    05. 支持异步网络I/O事业模型epoll(Linux 2.6+)

    1.3 Nginx软件的主要企业功能应用

    01.作为web服务支持网站页面请求处理功能

    02.支持反向代理或负载均衡功能

    03.前端业务数据缓存服务(扩展)

    第2章 编译安装Nginx

    服务端配置:

    2.1 ①检查软件的安装环境

     1 cat /etc/redhat-release #查看软件系统环境 2 3 uname -r 

    2.2 ②安装nginx的依赖包

     1 yum install -y pcre-devel openssl-devel
     2 
     3 rpm -qa pcre pcre-devel openssl openssl-devel   #yum安装操作后检查安装结果

    扩展:

    pcre:兼容perl兼容正则表达式,perl compatible regular expressions

    rewirte模块 参数信息(perl方式定义正则表达式)

    openssl:ssh---openssh/openssl---https

    2.3 ③下载nginx软件

    2.3.1 配置阿里云yum源

     1 01.备份
     2 mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
     3 
     4 02.下载新的CentOS-Base.repo 到/etc/yum.repos.d/
     5 # CentOS 6:
     6 wget-O /etc/yum.repos.d/CentOS-Base.repo 
     7 # CentOS 7:
     8 wget-O /etc/yum.repos.d/CentOS-Base.repo 
     9   
    10 03.之后运行yummakecache生成缓存

    2.3.2 添加Epel源

    1 01.备份(如有配置其他epel源)
    2 mv/etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
    3 mv/etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
    4   
    5 02.下载新repo 到/etc/yum.repos.d/
    6 # epel(RHEL 7):
    7 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    8 # epel(RHEL 6):
    9 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

    2.3.3 放在统一目录下并进行安装

    1 mkdir -p /server/tools
    2 
    3 cd /server/tools
    4 
    5 wget http://nginx.org/download/nginx-1.10.2.tar.gz

    说明:更多的Nginx版本详见http://nginx.org/选择安装Stable version(稳定版本)

    2.3.4 解压nginx软件包

     1 tar xf nginx-1.10.2.tar.gz 

    2.3.5 创建虚拟用户www管理nginx

     1 useradd www -s /sbin/nologin -M 2 3 id www 

    2.4 ④编译安装软件步骤

    配置[.configure]-->做菜[编译make]-->上菜[安装make stall])

    2.4.1 配置软件(默认安装在/usr/local)

    1 mkdir -p /server/tools/nginx-1.10.2
    2 
    3 cd /server/tools/nginx-1.10.2
    4 
    5 ./configure --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module  --with-http_ssl_module   #启动相应模块

    说明:--prefix:表示指定软件安装到哪个目录中,指定目录不存在会自动创建

    --user/--group:表示nginx工作进程利用哪个用户/用户组运行管理

    --with-http_stub_status_module:启动nginx状态模块功能(用户访问nginx的网络信息)

    --with-http_ssl_module:启动https功能模块

     1 echo $? 

    说明:软件编译过程中,利用返回值判断操作是否正确

    2.4.1.1  指定的参数及简单说明

    编译Nginx软件时,可以使用./configure --help查看相关参数帮助

    1 --prefix=PATH                     #<---设置安装路径
    2 --user=USER                       #<---进程用户权限
    3 --group=GROUP                     #<---进程用户组权限
    4 --with-http_stub_status_module    #<---激活状态信息
    5 --with-http_ssl_module            #<---激活ssl功能

    2.4.2 编译安装软件(顺序颠倒会报错)

     1 make #编译软件--转换成二进制软件包使计算机能够识别 2 3 make install #编译安装 

    2.4.3 创建目录的软链接

     1 cd /application/ 2 3 ln -s /application/nginx-1.10.2/ /application/nginx 

    作用:将Nginx安装路径通过软连接的方式更改为/application/nginx,便于程序代码调用nginx程序时无需跟随版本名称重置。

    2.4.4 启动nginx程序进程

     1 /application/nginx/sbin/nginx 

    2.4.5 检查服务进程端口信息

    1 ps -ef |grep nginx
    2 
    3 root      4142     1  0 21:32 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx   #主进程
    4 www       4143  4142  0 21:32 ?       00:00:00 nginx: worker process   #处理用户请求

    客户端进行测试:

    2.4.6 检查Nginx启动的实际效果

    在Windows下通过浏览器检测的方式如下:

    打开浏览器输入:http://10.0.0.8/ (10.0.0.8为安装Nginx服务器的IP地址)→回车

    说明:这里不能使用域名访问,如果想通过域名访问,需要修改本地hosts文件(不能使用自带IE浏览器)

    在linux下通过浏览器检测的方式如下:

     1 [root@web01 ~]# wget 127.0.0.1
     2 
     3 --2017-01-15 17:35:35--  http://127.0.0.1/
     4 正在连接 127.0.0.1:80... 已连接。
     5 已发出 HTTP 请求,正在等待回应... 200 OK
     6 长度:612 [text/html]
     7 正在保存至: “index.html”
     8 
     9 100%[================================================================================>] 612         --.-K/s   in 0s
    10  
    11 2017-01-15 17:35:35 (120 MB/s) - 已保存 “index.html” [612/612])

    说明:广大读者请注意,执行上述操作需关闭iptables防火墙及selinux


    此笔记是本人学习摘记整理而成,此为初稿(尚有诸多不完善之处),原创作品允许转载,转载时请务必以超链接形式标明文章原始出处,作者信息和本声明,否则将追究法律责任。http://www.cnblogs.com/bananaaa/

  • 相关阅读:
    xxl-job如何保证调度的一致性
    mac安装homebrew
    JDBC自动加载驱动的SPI机制
    JDBC使用
    mysql的limit分页,越往后为什么越慢,怎么解决
    解决idea报错 "cannot access class
    BeanUtils.copyProperties复制失败探究
    xxl-job任务定时触发流程
    xxl-job一致性
    xxl-job高可用部署
  • 原文地址:https://www.cnblogs.com/bananaaa/p/7778642.html
Copyright © 2020-2023  润新知