`
angelbill3
  • 浏览: 256504 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

【学习】使用Nginx进行多站点配置(初级)

    博客分类:
  • java
 
阅读更多
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

需求:一台主机,IP为221.XXX.XXX.XXX,为了资源利用最大化,将两个域名,即两个站点在这台主机上布署。
具体配置如下:
www.aaa.com 放在端口为8080的tomcat上。
www.bbb.com 放在端口为8088的tomcat上。


先是将两个域名解析到此IP上(去域名服务商那边可以设置),检验是否成功可以ping下域名。

nginx下载:http://nginx.org/en/download.html
本文用的版本:1.5.6

---------------------------------

下载来后,是一个压缩包,目录如下:


nginx的核心配置是cong文件夹下的nginx.conf
相应的日志,放在Logs目录下(可通过配置)

平时我们可以用简单命令来操作nginx;
命令模式,在nginx的目录下,输入:
目录略\nginx-1.5.6>start nginx

在浏览器中输入:http://127.0.0.1/,就会看到Welcome to nginx!字样,说明nginx启动成功。(看进程也是可以的)。

此外简单的命令还有:
nginx -s stop          // 停止nginx
nginx -s reload       // 重新加载配置文件
nginx -s quit          // 退出nginx

---------------------------------

下面重点配置nginx.conf文件:
#使用的用户组
#user  nobody;

#指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍)
worker_processes 1;

#指定错误日志存放的路径,错误日志记录级别可选项为[debug|info|notice|warn|error|crit]
error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#指定pic存放的路径
pid  logs/nginx.pid;

#指定文件描述符数量
worker_rlimit_nofile 65535;

events {
    #使用的网络I/O模型,Linux系统推荐采用epoll模型,FreeBSD系统推荐采用kqueue模型
	#use epoll;
	#允许的链接数
    worker_connections  65535;
}

http {
    include  mime.types;
    default_type application/octet-stream;
    log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
	server_names_hash_bucket_size  128;
	client_header_buffer_size  32k;
	large_client_header_buffers  4  32K;
	
	#设置客户端能够上传的文件大小 
	client_max_body_size 9000m;	
	
    sendfile on;
    tcp_nopush on;
	keepalive_timeout 65;
	tcp_nodelay on;
	server_tokens off;
	
	client_body_buffer_size 512k;
	proxy_connect_timeout   5;
	proxy_read_timeout      60;
	proxy_send_timeout      5;
	proxy_buffer_size       16k;
	proxy_buffers           2 256k;
	proxy_busy_buffers_size 256k;
	proxy_temp_file_write_size 256k;

	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr; #获取真实IP
		
    #gzip  on;
	gzip on;  
	gzip_min_length  1k;  
	gzip_buffers     4 16k;  
	gzip_http_version 1.1;  
	gzip_comp_level 2;  
	gzip_types       text/plain application/x-javascript text/css application/xml;  
	gzip_vary on;

	
	
server{     
        server_name _;         
        return 404; 
    } 
	
server {
        listen  80;
        server_name  www.aaa.cn;
		access_log  logs/www.aaa.cn.access.log  main;
		server_name_in_redirect off;
		charset  utf-8; 
        location / {
              proxy_pass http://localhost:8080; 		
        }
    }
	
server {
        listen  80;
        server_name  www.bbb.com;
		access_log  logs/www.bbb.com.access.log  main;
		server_name_in_redirect off;
		charset  utf-8; 
        location / {
		proxy_pass http://localhost:8088;			  
        }
    }
}


基础入门级配置,这样访问www.aaa.cn和www.bbb.com都是OK了的,而且服务器不需要开设8080和8088端口出来,只需要保证默认80端口外网能连通即可。

另外项目放在tomcat中,通过http://localhost:8080这样的形式就能访问,(通常开发的模式为:http://localhost:8080/aaa/),具体是在tomcat目录的conf的server.xml中配,这里不作详细记录。

---------------------------------
在测试的时候遇到的问题:
测试访问www.bbb.com网站时,报404错误,以为nginx一直不行,后来才发现在布署的时候没有设置默认的index.htm路径,所以以访万一,下次测试的时候应该用具体的访问路径去测试,排除其它潜在原因。
如测试时不要直接想当然的输入:www.bbb.com,而是输入:www.bbb.com/index.htm



分享到:
评论

相关推荐

    linux NGINX配置多站点

    linux中安装了php环境,现在要支持多个php项目以及其他如Java环境,NGINX反向代理多站点配置

    Nginx一个IP如何配置多个站点的方法教程

    对于Nginx,一个IP上配置多个站点还是很常见的。尤其是在开发环境上,更是如此。 下面在我的阿里云上简单的实现这样一个需求: 在一个IP上通过对端口区分来配置多个站点。 环境初始化目录一览配置站点准备添加配置...

    nginx多服务器多端口配置

    nginx多服务器多端口配置

    nginx多域名配置示例

    nginx多域名配置示例 php多级域名配置 二级域名配置示例 nginx伪静态示例

    nginx添加站点脚本

    Nginx通过配置不同的站点来管理多个网站的运行,而“添加站点脚本”就是一种自动化创建和管理Nginx站点配置的工具。下面我们将深入探讨Nginx站点脚本的工作原理以及如何使用它。 ### 1. Nginx的基本概念 Nginx是一...

    nginx 多站点配置,本地能访问,不能访问的解决

    通过阿里云服务器的nginx配置多个端口指向不同网站时,出现本地能打开,不能打开的问题,后分析解决,分享给大家.

    centos Centos系统上 nginx 代理多个域名站点 nginx配置

    Centos系统上 nginx 代理多个域名站点 nginx配置,多个域名解析到同一IP,服务器上启动多个服务

    nginx配置多域名访问以及完整配置

    要统计Nginx的访问数量,可以使用`access_log`指令记录日志,然后通过外部工具如`awstats`或`logrotate`进行分析。例如: ```nginx access_log /var/log/nginx/access.log combined; ``` `combined`是日志格式,...

    Windows下Nginx的安装与配置

    Windows 下 Nginx 的安装与配置 Nginx 是一款高性能的、轻量级的 HTTP Web 服务器和反向代理服务器及电子邮件 IMAP/POP3/...nginx的安装与配置是非常重要的,需要根据实际情况进行配置,以达到最佳的性能和稳定性。

    nginx配置多个静态资源.docx

    nginx配置多个静态资源 本文将详细介绍nginx配置多个静态资源的知识点,从基本概念到配置实践,涵盖了nginx配置文件的各个组件和指令。 nginx配置文件结构 nginx配置文件主要由以下几个部分组成: * main块:...

    Nginx完整配置说明

    Nginx完整配置说明 Nginx是当前最流行的Web服务器软件之一,常用于搭建Web服务器、反向代理服务器、负载均衡器等。下面是Nginx的完整配置说明,涵盖基本配置、反向代理、FastCGI等方面的知识点。 一、基本配置 在...

    nginx多配置文件

    在复杂的项目环境中,如开发、测试、预发布(预生产)和生产环境,为了保持配置的清晰性和可维护性,通常需要使用多个配置文件。标题"nginx多配置文件"和描述中提到的问题,就是如何有效地管理这些不同环境的配置,...

    Nginx配置多个访问路径

    Nginx配置多个service 多个访问路径 找到conf/nginx.conf修改配置文件 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid ...

    nginx_多证书配置.zip

    一旦配置完毕,记得使用`nginx -t`检查配置文件是否有误,无误后使用`nginx -s reload`或`systemctl restart nginx`来应用新配置。 总的来说,这个压缩包提供了一个用于在Linux环境中配置nginx并实现HTTPS多证书...

    nginx外网访问内网站点配置操作

    本文将主要介绍如何使用nginx来实现外网访问内网站点的配置操作。 首先,配置外网访问内网站点的场景是这样的:有一个前后端分离的站点,前端内网地址为***.***.*.**:81,API内网地址为***.***.*.**:8080,希望通过...

    nginx图片服务器配置和https配置

    nginx图片服务器配置和https配置

    Nginx配置文件(nginx.conf)配置详解[定义].pdf

    Nginx配置文件(nginx.conf)配置详解 Nginx配置文件(nginx.conf)是Nginx服务器的核心配置文件,用于定义Nginx服务器的行为和配置。下面是Nginx配置文件的详细配置解释: 用户和组 Nginx配置文件中指定了用户和组,...

    nginx的各项详细配置-超多注释

    - **rewrite**: URL重写规则,使用正则表达式进行匹配和替换。 - **try_files**: 按顺序查找文件,找到即返回,未找到则按顺序执行下一条指令。 ### 3. Nginx反向代理 通过`proxy_pass`指令,Nginx可以作为反向...

    nginx nginx.conf配置

    修改配置后,使用`nginx -t`命令检查配置文件的语法是否正确,无误后用`nginx -s reload`命令平滑重启Nginx以应用新配置。 总的来说,`nginx.conf`是Nginx的核心,通过灵活的配置可以实现多种服务和功能,适应各种...

Global site tag (gtag.js) - Google Analytics