同一台nginx服务器通过配置多个server块实现在同一端口号下监听多个域名。

需要注意的是:端口号(listen)+主机名(server_name) 需要在多个server中唯一,否则会报错。

实现效果:分别访问one.lyj.com 和 two.lyj.com获取不同的资源

#user  nobody;
# 工作进程数量
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; # 每个worker创建连接数
events {
worker_connections 1024;
} http {
# 引入文件 mime.types里配置的是文件会以何种方式返回给客户端
include mime.types;
# 默认的返回方式
default_type application/octet-stream; # 数据0拷贝
sendfile on;
#tcp_nopush on; # 保持长链接时间
keepalive_timeout 65; # 虚拟主机 vhost 一台nginx可以配置多个server
server {
# 监听端口
listen 80;
# 配置域名、主机名 域名需要备案和配置dns解析
server_name one.lyj.com; # location用来匹配uri(资源) eg: url为: http://liyijun.com/learnnginx/index.html ; uri就是:/learnnginx/index.html
# 一个server可以配置多个location
location / {
# 资源的相对路径 eg:html就是在nginx主目录下的html文件夹下
root /www/one;
# 默认展示页面
index index.html index.htm;
} # 遇到错误页面码转到 /50x.html下 下面的location会将/50x.html转到html文件夹下去寻找50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
} # 监听多个端口
server {
# 监听端口
listen 80;
# 配置域名、主机名 多个域名之间用空格间隔开
server_name two.lyj.com three.lyj.com; # location用来匹配uri(资源) eg: url为: http://liyijun.com/learnnginx/index.html ; uri就是:/learnnginx/index.html
# 一个server可以配置多个location
location / {
# 资源的相对路径 eg:html就是在nginx主目录下的html文件夹下
root /www/two;
# 默认展示页面
index index.html index.htm;
} # 遇到错误页面码转到 /50x.html下 下面的location会将/50x.html转到html文件夹下去寻找50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
} }

参考:16-基本使用-Nginx虚拟主机域名配置_哔哩哔哩_bilibili

Nginx 监听同一端口号配置多个域名的更多相关文章

  1. nginx监听端口和反向代理端口的权限问题

    Linux的SELinux安全性控制除作用于文件系统外还作用于端口,这使得那些作为服务启动的进程只能在规定的几个端口上监听.为叙述方便我们称之为受控端口. nginx监听端口 要查看当前有哪些受控端口 ...

  2. Nginx源码研究八:nginx监听socket实现流程

    前面描述了nginx系统分析nginx的配置文件,初始化模块相关参数的过程,这里利用nginx监听socket的实现过程,做一次完整的回顾 1.首先,nginx启动的main函数中,会先初始化cycl ...

  3. 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...

  4. nginx监听相同端口,根据域名请求不同的server

    nginx监听相同端口,根据域名请求不同的server 学习了:https://blog.csdn.net/liaosiqian/article/details/54861270 注意其中用的是rew ...

  5. windows 开启 nginx 监听80 端口 以及 禁用 http 服务后,无法重启 HTTP 服务,提示 系统错误 123,文件目录、卷标出错

    1. 正常情况直接运行  start nginx.exe 不能开启成功,因为 80 端口被占用.提示: bind() to 0.0.0.0:80 failed (10013: An attempt w ...

  6. Linux centosVMware 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    一.配置Tomcat监听80端口 关闭tomcat报错 [root@davery src]# /usr/local/tomcat/bin/shutdown.sh 重装tomcat即可 vim /usr ...

  7. nginx 监听一个端口同时支持https和http

    nginx 如何想同时支持https和http,必须监听两个不同的端口,比如http:listen 80; https:listen 443;   server { listen 1234 ssl;s ...

  8. (修改)oracle11g监听多台主机配置,用pl/sql连接操作多个数据库详解

    很多朋友在开发项目中并不是每个人用一个数据库,而是有单独的一台主机作为开发的数据库服务器,这样,就需要我们的开发人员去连接它. 首先是进入oracle的 Net  Mananger:

  9. PLSQL连接Oracle64监听和服务的配置!

    前言: 这里不会涉及到太多关于版本问题的解决,只是简单提一下基本的监听和服务配置问题的解决,让你可以快速的用PLSQL连接上你自己创建的Oracle数据库(这里示例数据库名为ORCL); 版本问题: ...

  10. mac oxs 上查看进程监听的端口号 lsof

    sudo netstat -ltnp |grep xxx lsof -p 26917 | grep LISTEN https://mengkang.net/1090.html

随机推荐

  1. drush .. drupal console

    "You can run both." They compliment each other, yet the final decision is yours. Especiall ...

  2. 设置cudnn日志

    主要分为两个步骤,分别设置两个环境变量. 第一步,设置日志级别. # 三种级别,设置环境变量为1为开启,设置为0关闭. # CUDNN_LOGINFO_DBG # CUDNN_LOGWARN_DBG ...

  3. k8s_namespace

    namespace 可以认为namespaces是kubernetes集群中的虚拟化集群.在Kubernetes集群可以拥有多个命名空间,它们在逻辑上彼此隔离. 多数的Kubernetes中的集群默认 ...

  4. docker和常用的中间件安装汇总

    一.背景:近期整理环境,汇总了下docker 安装常用的中间件,方便我们自己搭建个人的开发环境,做个记录 1.首先是docker 本身(centos)的安装: # 旧版本卸载 sudo yum rem ...

  5. Linux profile、bashrc、bash_profile

    一.profile 文件 1.profile 文件的作用 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效.当用户登录(login)时, ...

  6. fatal error: openssl/ssl.h: No such file or director

    $ sudo apt-get install libssl-dev

  7. 当前工程中typescritpt依赖包与依赖包中依赖包类型不一致如何解决

    在开发中,遇到文件中引入webpack,但是webpack.ICompiler不一致的情况 //import webpack from 'webpack'; import webpackHot fro ...

  8. vscode 开发Vue项目

    写在开头 Vue作为前端项目,本身不依赖IDE,完全可以使用任何文本编辑器进行开发.我使用vscode仅是因为比较习惯,vscode几乎可以作为任何项目的开发IDE. 环境安装 安装nodejs,去官 ...

  9. centos6.x配置虚拟主机名及域名hosts

    我们在本地安装了centos或者虚拟主机上安装了centos,主机名称默认是localhost,这样我们可以使用localhost访问我们的主机,在终端命令里默认的是[root@localhost ~ ...

  10. centos7 yum安装配置Lnmp和负载配置

    首先配置防火墙CentOS 7.0默认使用的是firewall作为防火墙1.关闭firewall: systemctl stop firewalld.service #停止firewallsystem ...