使用nginx进行反向代理(配置虚拟主机)

需求:使用不同的域名。访问相同的ip,获取到不同的端口服务器

(Linux服务器)

  1. 安装nginx需要的环境(有可能安装上的)



nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。

  • gcc

安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装

yum install gcc-c++

  • PCRE

PCRE(PerlCompatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

 yuminstall -y pcre pcre-devel

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

  • zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

 yuminstall -y zlib zlib-devel

  • openssl

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

 yuminstall -y openssl openssl-devel

2. 上传nginx进行解压

tar -zxvf nginx-1.8.0.tar.gz

3. 进入解压目录

cd nginx-1.8.0.tar.gz

4. 执行如下命令,将编译后存放的位置

参数设置如下:

./configure \

    --prefix=/usr/local/nginx \

    --pid-path=/var/run/nginx/nginx.pid \

    --lock-path=/var/lock/nginx.lock \

    --error-log-path=/var/log/nginx/error.log \

    --http-log-path=/var/log/nginx/access.log \

    --with-http_gzip_static_module \

    --http-client-body-temp-path=/var/temp/nginx/client\

    --http-proxy-temp-path=/var/temp/nginx/proxy\

    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi\

    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi\

    --http-scgi-temp-path=/var/temp/nginx/scgi

    注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

5. 创建/var/temp/nginx

mkdir -p /var/temp/nginx


6. 编译安装

make

    make  install

7. 查看安装成功后的目录

cd /usr/local/nginx/

    ll

    

8. 启动nginx

cd /usr/local/nginx/sbin/

    ./nginx


9. 查看nginx的进程,查询是否启动

ps -aux | grep nginx

    


10. 停止nginx

方式1,快速停止:

cd /usr/local/nginx/sbin

    ./nginx -s stop

此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

方式2,完整停止(建议使用):

 cd /usr/local/nginx/sbin

    ./nginx -s quit

此方式停止步骤是待nginx进程处理任务完毕进行停止。

11. 修改配置文件后,不需要关闭,直接重启

当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:

./nginx -s reload


12. 测试安装成功

需求:

两个域名指向同一台服务器,用户访问不同的域名显示不同的网页内容。

两个域名是aaa.test.com和bbb.test.com

一台服务器还使用虚拟机192.168.101.3代替

虚拟主机的配置:


修改/usr/local/nginx/conf/nginx.conf文件,添加两个虚拟主机,如下:

#配置虚拟主机aaa.test.com

server {

#监听的ip和端口,配置本机ip和端口

listen 192.168.101.3:80;

#虚拟主机名称是aaa.test.com,请求域名aaa.test.com的url将由此server配置解析

server_name aaa.test.com;

#所有的请求都以/开始,所有的请求都可以匹配此location

location / {

#使用root指令指定虚拟主机目录即网页存放目录

#比如访问http://ip/test.html将找到/usr/local/aaa_html/test.html

#比如访问http://ip/item/test.html将找到/usr/local/aaa_html/item/test.html

root /usr/local/aaa_html;

#指定欢迎页面,按从左到右顺序查找

index index.html index.htm;

}

}

#配置虚拟主机bbb.test.com

server {

listen 192.168.101.3:80;

server_name bbb.test.com;

location / {

root /usr/local/bbb_html;

index index.html index.htm;

}

}


时间: 2024-12-20 13:15:40

使用nginx进行反向代理(配置虚拟主机)的相关文章

nginx反向代理,虚拟主机

nginx反向代理,虚拟主机 一.配置虚拟主机1.基于端口配置虚拟主机1.1配置文件: [[email protected] conf.d]# vim vhost.conf server { listen 8080 ; root /usr/share/nginx/html; location / { } } server { listen 8081; root /usr/share/nginx/html; location / { } } 1.2验证:2.基于IP地址配置虚拟主机:2.1配置文件

Nginx反向代理多虚拟主机及记录真实客户IP

1.多虚拟机反向代理 ■ ___________________________________________________________ 主机信息: Nginx代理:192.168.1.201 Nginx_web_1:192.168.1.202 Nginx_web_2:192.168.1.203 测试机:192.168.1.204 -----------------------------------三台主机安装 #安装参数 cd /usr/local/src/ tar zxvf ngi

lvs的nat和dr实现,nginx反向代理,虚拟主机

1.LVS的基本用法 1.管理工具:ipvsadm2.基本概念 VS:Virtual Server,调度器 RS:Real Server(lvs), upstream server(nginx) backend server(haproxy) 实际服务器 CIP:Client IP 客户端IP VIP: Virtual serve IP VS外网的IP DIP: Director IP VS内网的IP RIP: Real server IP 实际服务器IP 3.转发模式: lvs-nat:修改请

4-1-面试必备-nginx实现反向代理配置与实战

nginx服务有缓存机制,但是要看nginx做为什么服务器来用,才启用缓存,否则自己的压力就非常大了(后端服务器压力小),因为nginx最拿手的是维持连接,缓存可以使用其他服务.nat服务工作在三层和四层,可以简单理解为工作在四层.注意:如果能工作在应用层就叫做代理,那么这个服务器就能监听一些端口但不是全部,---意思是服务器具有业务处理能力,一边是客户端(要理解客户端发的内容),一边是服务端(用自己的方式把内容传过去),所以可以有自己的缓存了 上边讲的是正向代理和反向代理的原理,nginx是可

Centos 7搭建Nginx网站服务器及配置虚拟主机

Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供web服务,目前中国大陆使用nginx网站用户有:新浪.网易.腾讯,另外知名的微网志Plurk也使用nginx. Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生

nginx搭建反向代理配置

一.安装gcc yum install gcc-c++ -y 二.安装nginx所需要的依赖库 yum -y install zlib-devel openssl-devel pcre-devel 三.如有安装老版本,则卸载. 查看:find -name nginx 卸载:yum remove nginx 四.下载nginx源码并解压.(源码去官网下载, 以下是官方链接) wget -c http://nginx.org/download/nginx-1.6.2.tar.gz tar -zxvf

nginx实现反向代理 配置多域名以及多端口号

多个服务部署在同一个服务器,使用不同的端口. 一.思考过程 如果不想带上端口号,就只能访问 80 或 443 端口. 可以用过二级目录区分服务,通过反向代理转发到不同的 Server. 可以用过子域名区分服务,通过反向代理转发到不同的 Server. 二.方案评估 对于不带端口号访问,以我目前的经验来看,找不到其它更好的方法,只能使用 80 或 443 端口. 使用二级目录区分服务,可行性很大. 能通过二级目录名,明确区分服务. 可是和直接使用端口号差别不大,只是把辨别服务的方法,从端口号变成了

Nginx反向代理多虚拟主机代理

根据http://www.cnblogs.com/zzzhfo/p/6032095.html这个环境配置 在web01和web02上配置基于域名的虚拟主机 web01 [[email protected] /]# mkdir -p /var/www/html/www [[email protected] /]# mkdir -p /var/www/html/bbs [[email protected] /]# echo "<h1>bbs.test.com<h1/>&quo

linux 安装 nginx 及反向代理配置

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装编译环境gcc g++ 和make(用于编译源代码成可执行文件) 1yum install gcc gcc-c++ 2 yum -y install gcc automake autoconf libtool make 二:安装pcre (nginx rewrite依赖pcre库)zlib(用于gzip压缩)

nginx反向代理配置详解

反向代理配置 修改部署目录下conf子目录的nginx.conf文件(如/opt/nginx/conf/nginx.conf)内容,可调整相关配置. 将默认配置里面带#号注释内容去掉 grep -v "#" /opt/nginx/conf/nginx.conf > /opt/nginx/conf/nginx.confbak 将原先的配置修改名字备份一下,后面的没有注释内容的nginx.confbak修改名字为nginx.conf 反向代理配置示例: #定义Nginx运行的用户和用