热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx的安装及配置

NginxNginx是个web服务器,常用作静态文件服务器,反向代理服务器,邮件代理服务器,负载均衡服务器Nginx安装1.安装淘宝nginx,编译安装,先解决模块依赖

Nginx

Nginx是个web服务器,常用作静态文件服务器,反向代理服务器,邮件代理服务器,负载均衡服务器

 

Nginx安装

1. 安装淘宝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

2. 获取淘宝nginx的源代码

 wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz

3. 解压缩源代码包

 tar -zxvf tengine-2.3.2.tar.gz

4. 进入源代码目录开始编译三部曲

 ①指定安装路径

  ./configure --prefix=/opt/tngx

 ②编译且安装

  make && make install

 ③安装完成之后,进入Nginx的目录

  [root@localhost tngx]#pwd

  /opt/tngx

  [root@localhost tngx]#ls

  conf html logs sbin

    • conf    存放配置文件
    • html    存放前端页面
    • logs    nginx的运行日志
    • sbin    nginx的可执行命令目录

  进入sbin目录

  [root@localhost tngx]#cd sbin

    • ./nginx    启动Nginx
    • ./nginx -s stop    停止Nginx
    • ./nginx -t    检查nginx.conf的语法是否正确
    • ./nginx -s reload    不重启Nginx,重新加载Nginx配置

 

Nginx配置

配置文件为conf目录下的nginx.conf

Nginx虚拟主机

http {
    #nginx支持多虚拟主机,只需要写入多个server关键字即可
    #虚拟主机1
    server {
    #基于端口的虚拟主机区分
    listen       80;
    #基于域名的虚拟主机区分
    server_name www.asdf.com;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main;

    #这里是nginx的url匹配,如同django的url一样
    #当请求 http://192.168.182.130:80/abc.jpg 这样的url时,就进入如下location匹配
    #这个是最低级的匹配,所有请求都会走到这里
    location / {
        #root关键字定义虚拟主机的根目录,这里是可以修改的
        root   /opt/abc/;
        #index参数定义首页文件的名字
        index index.html;
    }
  }

    #虚拟主机2
    server {
    #基于端口的虚拟主机区分
    listen       81;
    #基于域名的虚拟主机区分
    server_name www.qwer.com;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main;
    #这里是nginx的url匹配,如同django的url一样
    #当请求 http://192.168.182.130:81/xyz.jpg 这样的url时,就进入如下location匹配
    #这个是最低级的匹配,所有请求都会走到这里
    location / {
        #root关键字定义虚拟主机的根目录, 这里是可以修改的
        root   /opt/xyz/;
        #index参数定义首页文件的名字
        index index.html;
    }
  }
}

Nginx错误页面404优化

server {
    listen 80;
    server_name www.asdf.com;  
    #通过error_page参数定义即可
    #404.html文件的相对路径为root定义的目录
    error_page 404             /404.html;
    location / {
        root   /opt/abc/;
        index index.html;
    }
  }

Nginx反向代理

  • 环境准备

    • 机器1 192.168.182.130,代理服务器

    • 机器2 192.168.182.131,资源服务器

  • 反向代理服务器配置如下

    在代理服务器的配置文件中,找到server{}虚拟主机,在location内设置proxy_pass参数

    server {
        listen       80;
        server_name www.asdf.com;
        #charset koi8-r;
        #access_log logs/host.access.log main;
        #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main;
        location / {
            #实现反向代理的功能参数
            #实现反向代理的功能参数
            #实现反向代理的功能参数
            proxy_pass http://192.168.182.131;
        }
    }

Nginx负载均衡

  • 环境准备

    • 1台负载均衡服务器

      • 192.168.182.130 负载均衡服务器

    • 2台资源服务器

      • 192.168.182.131 资源服务器1

      • 192.168.182.132 资源服务器2

  • 在负载均衡服务器配置文件中,定义upstream负载均衡池

    #默认轮询方式
    upstream test {
        server 192.168.182.131;
        server 192.168.182.132;
    }

    #权重方式
    upstream test {
        server 192.168.182.131 weight=4;
        server 192.168.182.132 weight=1;
    }

    #ip哈希方式,根据用户的来源ip计算出哈希值,永远只指派给一个服务器去解析
    #ip哈希不得与权重共同使用
    upstream test {
        server 192.168.182.131;
        server 192.168.182.132;
        ip_hash;
    }
  • server{}虚拟主机在location内设置proxy_pass参数,将请求转发给负载均衡池

    server {
        listen       80;
        server_name www.asdf.com;
        #charset koi8-r;
        #access_log logs/host.access.log main;
        #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main;
        location / {
            #root   /opt/abc/;
            #index index.html;
            #请求转发给负载均衡池
            #请求转发给负载均衡池
            #请求转发给负载均衡池
            proxy_pass http://test;
        }
    }

 


推荐阅读
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
author-avatar
Fxnananana
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有