专栏首页北京马哥教育Nginx的安装和多域名配置

Nginx的安装和多域名配置

作者:白夜船长 来源:http://blog.csdn.net/zzq900503/article/details/70049348

Nginx安装

centos6.x yum默认没有nginx的软件包 安装方式: 到nginx下载页面http://nginx.org/en/linux_packages.html#stable,复制CENTOS 6的nginx软件源安装包 运行命令:

安装rpm包

此步实际只是加入了nginx的软件包源

执行 yum install nginx -y 就可以安装好nginx了。

nginx默认安装为Linux的服务 ,所以可以使用service nginx start, stop, restart, try-restart, reload, force-reload, status来操作nginx。

Nginx配置文件

nginx的配置文件默认读取/etc/nginx/nginx.conf文件。

当然也可以修改使用的conf路径,使用命令:

可以相对路径或者绝对路径。 如果是不熟悉环境的Linux服务器,可以使用命令来快速查找nginx.conf文件 :

也可以使用命令

来输出正在使用的配置文件:

nginx的配置都是由 directives组成,directives由简单指令或者区块指令组成 简单指令:listen 80; 区块指令由{}包含,区块指令又可以包含多个简单指令和区块指令:

多域名配置

我们都知道如果在域名管理的控制面板设置域名对应ip只能设置到ip,不能详细设置到端口。如果一台服务器部署了多个web应用,使用的不同端口启动的,那么就可以Nginx做映射。

比如我有一个域名 www.525.life。

域名还可以分出2级域名: admin.525.life。

我在域名控制面板把这两个域名都指向我的服务器公网ip 123.123.123.123。

这时候发现www.525.life和admin.525.life域名访问都只是对应到了 使用端口80的Web程序(默认的)。

如果我们要访问81端口的应用程序只能使用:

www.525.life:81或者

admin.525.life:81。

但是这样很不方便。我们要把端口去掉也能访问就需要使用Nginx做映射。

我们期望www.525.life访问8880端口,admin.525.life访问8881端口。那么可以设置如下:

这样设置就可以了。把8880和8881都映射到80端口的监听。

使用重载命令使nginx生效:

使用命令重启nginx生效:

这样就能使用www.525.life访问8880端口,admin.525.life访问8881端口。

每个域名一个conf的写法

我们在上面的例子中使用的是一个文件多个域名的写法,也就是只使用一个conf,在里面不断的增加server。这种方式很直观,但是域名多了不好管理。 Nginx支持引入的用法,也就是我们可以在其他地方先新建好conf文件,conf文件中记录server的信息如下: admin.conf中的内容是:

www.conf中的内容是:

admin.conf和www.conf都放在/data/nginx/conf/vhost目录下。 然后在nginx.conf中使用引入命令:

即可。 需要注意的是这句命令应该放在 http{ } 的花括号内。 因为include的命令引入相当于被引入的所有代码写在nginx.conf中一样。

301跳转

我们留意到生活中很多时候不带www也能访问到某个网站,这也能通过Nginx实现。跟上面的配置一样,再增加一个server如下:

或者进行301跳转

添加404网页

添加404网页,都可又直接在里面添加,如:

禁止IP直接访问

最后还有一个方法需要注意,可能有需要禁止IP直接访问80端口或者禁止非本站的域名绑定我们的IP,这样的话应该 如下处理,放到最前一个server上面即可:

马哥想听你动人的成长故事,所以发起了一个征文活动。

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux),作者:白夜船长

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hadoop运维记录 | Zeppelin启用https和Hack内核的过程

    本文是在工作过程中讲Zeppelin启用https过程和Hack内核以满足客户需求的记录。 原因是这客户很有意思,该客户中国分公司的人为了验证内网安全性,从国...

    小小科
  • 记一次内存占用问题的调查过程

    马哥linux运维 | 最专业的linux培训机构 ---- 最近在维护一台CentOS服务器的时候,发现内存无端"损失"了许多,free和ps统计的结果相差...

    小小科
  • Linux 系统开机启动项清理

    一般情况下,常规用途的 Linux 发行版在开机启动时拉起各种相关服务进程,包括许多你可能无需使用的服务。 -- David Both 本文导航 ◈ 查看开机启...

    小小科
  • 持续发布的三种反模式及解决方案

    在接触的很多的企业中,持续部署实践依然还有很多不足,基本上部署靠人,更别谈自动化了。我一直强调持续部署是IT交付的核心能力,直接关联到研发/测试和运维多个团队,...

    用户1593318
  • 必知必会 - 你可能想了解的上线部署策略

    最近由于需要开发测试环境管理工具,研究了下k8s的设计概念,过程中接触到了蓝绿部署、金丝雀部署、滚动部署等名词。

    上帝De助手
  • Comcast、ricardo.ch、PingCAP、Prowise和蒙特利尔市通过Kubernetes更上一层楼

    Kubernetes赋能Comcast、ricardo.ch、PingCAP、Prowise和蒙特利尔市,在不增加运营团队的情况下扩张规模,并将生产率提高了15...

    CNCF
  • 有了 Jenkins,为啥还需要一个独立的部署系统?

    DevOps时代
  • 一步步实施 DevOps (五)

    本章节重点谈自动化部署,每个人对自动化部署都有自己的理解,每个企业对自动化部署的需求也不同。

    netkiller
  • 一步步实施 DevOps (五)

    本章节重点谈自动化部署,每个人对自动化部署都有自己的理解,每个企业对自动化部署的需求也不同。

    netkiller
  • 持续部署Microservices的实践和准则

    当我们讨论Microservices架构时,我们通常会和Monolithic架构(单体架构 )进行比较。 ? 在Monolithic架构中,一个简单的应用会随着...

    ThoughtWorks

扫码关注云+社区

领取腾讯云代金券