最近公司在做等保测评 所有的端口都关闭了直接访问的渠道 所以简单用nginx做了一下映射,也做了这个笔记为了以后学习更方便,有不全面或者错误的地方请批评指正
申请一个域名&&购买一台服务器
[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++
zlib 适用于数据压缩的函式库,nginx使用zlib对http包的内容进行gzip压缩
查看是否已经安装zlib
yum list installed | grep "zlib"
一般情况下是都有的 如果没有就
直接下载安装
yum install -y zlib zlib-devel
pcre是C语言编写的正则表达式函数库
nginx的http模块使用pcre来解析正则表达式
yum install -y zlib zlib-devel
百科定义: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
我这里采用线上下载
当然也可以直接去官网下载,然后上传到服务器,此处不赘述
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文件夹下就能看到了
切换到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(如果做了等保,外网端口被关闭也可以用内网ip)
主机记录按自己喜好填写一个名字,这里准备映射配置nexus
上面填写完成后找到左侧导航栏
Web应用与防火墙选项–>网站接入
选择你刚才添加的域名
点击底下的立即自动添加网站
回到域名解析列表
记录类型就会变成CNAME模式了
nginx配置修改
这里我是做了市面上主流的方式进行了配置文件的二次引入单独拉了一个文件去映射nexus
参考的同学可以自行按照自己的方式去修改配合文件
[root@VM-0-2-centos conf]# vim /usr/local/nginx/conf/nginx.conf
主要参数配置
server_name 配置为阿里云上设置的域名
upstream nexus-service 需要被nginx代理映射的路径(也是做负载均衡的参数,此处不过多讲述)
proxy_pass 为代理转发路径 这里做了一个简单的引入,引入上面的upstream nexus-service
退出重启nginx
[root@VM-0-2-centos nginx]# ./sbin/nginx -s reload
有的同学在步骤三在解析域名配置完成后发现Web应用防火墙网站接入超过了十条
这时候怎么办呢?很简单
所有配置都照旧
我们修改一下自己的windows系统的host文件配置
C:\Windows\System32\drivers\etc
编辑host文夹在末尾加上一行(ip是我随便写的,后面的是你刚才配置的域名)
119.10.15.150 nexus.xxxx.com
这样 也可以处理了
欢迎转载