nginx反代理express应用,阿里云配置二级域名

linux服务器下nginx反代理服务器的使用

前言:阿里云部署nodejs项目 中我使用了80端口, 在阿里云部署express项目 我使用了3000端口. 浏览器HTTP访问IP或域名的80端口时,可以省略80端口号,但其他端口却不能. 我想省略3000端口则需要使用到nginx反代理服务器

环境: centos7.3

阿里云解析二级域名

访问阿里云网站并登录
单击控制台–>域名与网站(万网)–>云解析DNS –>域名解析–>域名解析列表 –> 对应域名的 解析设置
解析设置
解析设置
单击[添加解析]按钮
这里写图片描述

记录值为公网IP ,主机记录随便写,这里写的是demo,到时候要解析的二级域名就是 http://demo.example.com (example为你的域名主体)
这里写图片描述

测试域名
window环境下,运行cmd 使用ping http://demo.example.com 检测域名是否解析成功

linux 服务器安装nginx

nginx 中文文档

安装相关库

使用大黄更新与修改命令 yum 来安装相关库,这些都是 nginx 所需要的

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

下载与安装

http://nginx.org/download/ 这个网址找一个你想安装的nginx版本,单击右键复制连接 .我这里选的是2017版

切换当前工作目录到/usr/local/src/

wget http://nginx.org/download/nginx-1.11.13.tar.gz  #下载2017版
tar -zxvf nginx-1.11.13.tar.gz                       #解压
mv nginx-1.11.13.tar.gz nginx                        #改文件名
./configure --prefix=/usr/local/webserver/nginx      #安装前的配置

#--prefix 是配置安装路径,最好不要和之前的解压路径一样  ,
#相关路径里面没有的文件夹可以自己提前建好
#配置选项有很多,可以百度nginx配置详解,这里我选择只配置安装路径
#其他的配置选项等要用到的时候再去了解

make && make install                #编译 并安装

测试

切换当前工作目录到 /usr/local/webserver/nginx

./sbin/nginx -t

测试通过会提示配置文件的语法没有错误,配置文件的测试成功

查看80端口是否被占用

如果端口被占用,则杀死相关进程

netstat -ano  | grep 80
netstat -ntlp | grep 80

启动服务

/usr/local/webserver/nginx/sbin/nginx 

重启

/usr/local/webserver/nginx/sbin/nginx -s reload

关闭

 ps -ef | grep nginx  #查找nginx 服务的进程id
 kill -9  相关pid

nginx 服务开机启动

cd /lib/systemd/system  #切换当前工作目录
vi nginx.service  #新建nginx.service文档

将以下内容粘到到文档中,然后按esc键,再:wq.(注意对应滴修改地址呦)

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/webserver/nginx/sbin/nginx
ExecReload=/usr/local/webserver/nginx/sbin/nginx -s reload
ExecStop=/usr/local/webserver/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后!
启动nginx服务

systemctl start nginx    
 #未修改 nginx.conf文件之前,
 #通过域名访问到的是nginx服务默认的一个index.html页面

停止nginx服务

systemctl stop nginx

重新启动服务

    systemctl restart  nginx

设置开机自启动

    systemctl enable nginx

停止开机自启动

    systemctl disable nginx

查看服务当前状态

    systemctl status  nginx

修改nginx.conf配置文件实现服务器反代理

查找nginx.conf文件

find / -name nginx.conf    #找到nginx.conf文件所在位置

切换工作目录到查找到的路径中,使用vi 修改 nginx.conf文件

http{

...
...
    #主机配置
    server {
        listen       80;                   #监听的端口
        server_name  demo.example.com;     #来访的域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;  
       #修改反向代理地址
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host  $http_host;
            proxy_set_header X-Nginx-Proxy true;
            proxy_set_header Connection "";
           proxy_pass http://127.0.0.1:3000;    #实际提供http内容服务的地址
           proxy_redirect default;
           # root   html;                  #根目录
           #index  index.html index.htm;   #首页页面
        }
     } 
     ...
     ...
}

配置成功后,删除阿里云服务器安全组里相关3000端口的安全组规则
启动express应用,此时服务器本地可以访问express应用,外网无法访问
重启nginx服务,通过demo.example.com访问,可访问到express应用

使用nginx实现多站点

通过阿里云配置多个二级域名, 或者是不同的顶级域名指向同一个公网IP,
服务器端提供多个http服务监听不同的端口,或者提供不同的文件目录,
使用nginx 进行对应配置就可以实现多站点了


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值