Linux 搭建 Nginx 实现不同请求访问不同项目

Linux 搭建 Nginx 实现不同请求访问不同项目

  • 前言
    • 1.开始搭建
    • 2.配置转发

前言

年初的时候搭建了一个rtmp 的视频推拉流,现在要从新搭建一个实现转发的nginx ,因为我有一个阿里云,我想跑两个项目,但是我只有一个域名,思来想去,就决定用nginx 使用域名的默认80 端口号,然后用不同的路径去区别转发到相应的端口,实现这个需求。

1.开始搭建

从网上也整理了很多资料,也是浑水摸鱼的,好在已经有一次安装经验了,但是这次还是感觉到很吃力,网上的不同版本的都看起来都实现了,但是自己就是搭建不出来。很难受。

首先第一步肯定就是日常的配置端网络什么的,我用的一个虚拟机是已经配置好静态ip 以及一个jdk 1.8 的节点。并且我准备了两个项目demo 的jar 文件。

1. 第一步

	yum -y update

首先就是把自己的yum 更新到最新版。
2. 第二步就是安装nginx 编译所需要的依赖。一步到位

	yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel

Linux 搭建 Nginx 实现不同请求访问不同项目_第1张图片
提示完毕说明这一步已经完成了。

3. 开始安装nginx 我们可以用centos 自带的wegt 来下载nginx 的tar.gz 包,首先创建一个 nginx 的文件夹,然后再进去这个文件夹。

	mkdir -p /usr/local/nginx
	
	// 进入创建的nginx 文件夹
	cd /usr/local/nginx
	
	wget http://nginx.org/download/nginx-1.9.15.tar.gz

在这里插入图片描述
然后我的节点提示我没有安装这个wegt 的命令
然后我们进行一下安装

	yum -y install wget   // -y 的意思是默认安装所有的组件

Linux 搭建 Nginx 实现不同请求访问不同项目_第2张图片
安装完成就可以执行上边的命令了。

	wget http://nginx.org/download/nginx-1.9.15.tar.gz

等待下载完成
Linux 搭建 Nginx 实现不同请求访问不同项目_第3张图片
然后就是解压了。

	tar -zxvf nginx-1.9.15.tar.gz 
	
	cd cd nginx-1.9.15

进入nginx 的解压文件夹
4. 选择安装的模块
nginx有很多模块

./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre \
--with-file-aio \
--with-http_realip_module \
--without-http_scgi_module \
--without-http_uwsgi_module \
--without-http_fastcgi_module

Linux 搭建 Nginx 实现不同请求访问不同项目_第4张图片
完成以后会提示这样的信息, 表示我们的这些东西已经配置好了。
5. 编译 安装

	make

Linux 搭建 Nginx 实现不同请求访问不同项目_第5张图片

make install

Linux 搭建 Nginx 实现不同请求访问不同项目_第6张图片
6. 运行nginx

	/usr/sbin/nginx

Linux 搭建 Nginx 实现不同请求访问不同项目_第7张图片
可以看到nginx 已经启动成功了。
Linux 搭建 Nginx 实现不同请求访问不同项目_第8张图片
另外还有其他nginx 的常用命令

	//重启
	/usr/sbin/nginx -s stop/ quit/ reload   
	理所应当停止就是
	/usr/sbin/nginx -s stop

2.配置转发

7. 配置转发
限制nginx 就成功安装完成了。然后就是要配置端口转发,才能实现我的一个域名好几个项目使用.
停掉nginx

/usr/sbin/nginx -s stop

然后就是配置我们的转发请求了。进入我们的nginx 解压目录的conf 配置文件夹内

	cd /usr/local/nginx/nginx-1.9.15/conf

在这里插入图片描述
查看找到 nginx.conf 这个文件.

vi /etc/nginx/nginx.conf

找到service 然后放入底下代码

    	location ^~ /wechat {
                  proxy_pass http://localhost:8081;
                  proxy_set_header X-Real-IP $remote_addr;   #地址追加
        }

        location ~ / {
                  proxy_pass http://localhost:8080;
                  proxy_set_header Host $host:8080;    // 重定向以后指定端口改为8080   而不是默认的80  80 已经被nginx使用了。
                  proxy_set_header X-Real-IP $remote_addr;  #地址追加
        }

8. 然后到这里我的就配置好了。然后配置的过程我碰到一个问题,就是后台 springboot 去重定向的时候,会找不到地址,然后我就加上了 proxy_set_header Host $host:8080 才实现的重定向,因为重定向以后又默认启动了80 端口,然后导致找不到路径。

Linux 搭建 Nginx 实现不同请求访问不同项目_第9张图片
然后浏览器输入地址直接就指向 8080 进入页面了。
Linux 搭建 Nginx 实现不同请求访问不同项目_第10张图片
然后输入这个就进入我的wechat 包了。

你可能感兴趣的:(nginx)