nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)

文章目录

  • 前言
  • 一、初始工作
  • 二、准备工作
    • 1.GCC编译器
    • 2.安装zlib
    • 3.安装pcre、pcre-devel
    • 4.安装openssl
  • 三、nginx
    • 1.下载
    • 2.安装nginx
  • 三、域名映射配置(均为阿里云服务)
    • 1.域名解析
  • 五、nginx映射端口
  • 六、域名解析到达上限处理方式
  • 总结


前言

最近公司在做等保测评 所有的端口都关闭了直接访问的渠道 所以简单用nginx做了一下映射,也做了这个笔记为了以后学习更方便,有不全面或者错误的地方请批评指正


一、初始工作

申请一个域名&&购买一台服务器

二、准备工作

1.GCC编译器

[root@iZuf6e04uvnkmico5mc9q9Z usr]# gcc -v

一般来说购买的云服务器会自带如果已经存在了
会有如下提示

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC) 

不存在的话直接下载即可

yum install gcc gcc-c++

2.安装zlib

zlib 适用于数据压缩的函式库,nginx使用zlib对http包的内容进行gzip压缩
查看是否已经安装zlib

yum list installed | grep "zlib"

一般情况下是都有的 如果没有就
直接下载安装

yum install -y zlib zlib-devel

3.安装pcre、pcre-devel

pcre是C语言编写的正则表达式函数库
nginx的http模块使用pcre来解析正则表达式

yum install -y zlib zlib-devel

4.安装openssl

百科定义:OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

简化说明:为了让网络通信更安全,需要认证和加密
推荐yum方式安装

yum install -y openssl openssl-devel

这里是另一种下载tar包安装方式(命令比较多 不推荐)

[root@VM-0-2-centos usr]# wget http://www.openssl.org/source/openssl-fips-2.0.16.tar.gz
[root@VM-0-2-centos usr]# tar -zxvf openssl-fips-2.0.16.tar.gz 
[root@VM-0-2-centos usr]# cd openssl-fips-2.0.16/
[root@VM-0-2-centos usr]#  ./config && make && make install

三、nginx

1.下载

我这里采用线上下载
当然也可以直接去官网下载,然后上传到服务器,此处不赘述

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

下载完成后 进入下载目录 进行解压安装

[root@VM-0-2-centos usr]# tar -zxvf nginx-1.15.9.tar.gz 

解压完成后移动到自己喜欢的目录下并重命名

[root@VM-0-2-centos usr]# mv nginx-1.15.9 local/nginx

进入local/nginx文件夹下就能看到了

2.安装nginx

切换到nginx目录下执行安装命令

[root@VM-0-2-centos nginx]# ./configure  && make && make install

如果报错

cp conf/koi-win '/usr/local/nginx/conf'
cp: ‘conf/koi-win’ and ‘/usr/local/nginx/conf/koi-win’ are the same file
make[1]: *** [install] Error 1
make[1]: Leaving directory `/usr/local/nginx'
make: *** [install] Error 2

改下命令在编译的时候用来指定程序存放路径即可,如下:

[root@VM-0-2-centos nginx]# ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf && make && make install

启动nginx
安装完成后会发现/usr/local/nginx目录下多了一个sbin文件夹

[root@VM-0-2-centos nginx]# ./sbin/nginx
或者指定配置文夹启动
[root@VM-0-2-centos nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

访问一下自己服务器ip,出现以下页面成功
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第1张图片

三、域名映射配置(均为阿里云服务)

1.域名解析

在阿里云控制台左侧产品与服务里面找到域名–>域名解析–>找到需要解析的域名–>解析设置
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第2张图片
点击添加记录
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第3张图片
会出现如下表单填写,这里将表单填写为如下配置
记录值填写为自己服务器的ip(如果做了等保,外网端口被关闭也可以用内网ip)
主机记录按自己喜好填写一个名字,这里准备映射配置nexus
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第4张图片
上面填写完成后找到左侧导航栏
Web应用与防火墙选项–>网站接入
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第5张图片
选择你刚才添加的域名
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第6张图片
点击底下的立即自动添加网站
在这里插入图片描述
回到域名解析列表
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第7张图片
记录类型就会变成CNAME模式了

五、nginx映射端口

nginx配置修改
这里我是做了市面上主流的方式进行了配置文件的二次引入单独拉了一个文件去映射nexus
参考的同学可以自行按照自己的方式去修改配合文件

[root@VM-0-2-centos conf]# vim /usr/local/nginx/conf/nginx.conf

nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第8张图片
主要参数配置
server_name 配置为阿里云上设置的域名
upstream nexus-service 需要被nginx代理映射的路径(也是做负载均衡的参数,此处不过多讲述)
proxy_pass 为代理转发路径 这里做了一个简单的引入,引入上面的upstream nexus-service

退出重启nginx
[root@VM-0-2-centos nginx]# ./sbin/nginx -s reload

效果如下
正常访问nexus是
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第9张图片
做了可以用域名进行访问
nginx做域名映射到指定端口(阿里云服务器、阿里域名服务)_第10张图片

六、域名解析到达上限处理方式

有的同学在步骤三在解析域名配置完成后发现Web应用防火墙网站接入超过了十条
这时候怎么办呢?很简单
所有配置都照旧
我们修改一下自己的windows系统的host文件配置
C:\Windows\System32\drivers\etc
编辑host文夹在末尾加上一行(ip是我随便写的,后面的是你刚才配置的域名)
119.10.15.150 nexus.xxxx.com
这样 也可以处理了

总结

欢迎转载

你可能感兴趣的:(nginx,linux,nginx)