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

[b]Nginx [/b]("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

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


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

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

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

下载来后,是一个压缩包,目录如下:
[img]http://dl.iteye.com/upload/picture/pic/128367/c41aa703-577e-38b1-b7ec-e4cb95f78bc4.jpg[/img]

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

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

在浏览器中输入: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中配,这里不作详细记录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值