当前位置:   article > 正文

nginx反代理express应用,阿里云配置二级域名_express+nginx获取服务器的域名

express+nginx获取服务器的域名

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
  • 1

下载与安装

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                #编译 并安装
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

测试

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

./sbin/nginx -t
  • 1

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

查看80端口是否被占用

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

netstat -ano  | grep 80
netstat -ntlp | grep 80
  • 1
  • 2

启动服务

/usr/local/webserver/nginx/sbin/nginx 
  • 1

重启

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

关闭

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

nginx 服务开机启动

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

将以下内容粘到到文档中,然后按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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

然后!
启动nginx服务

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

停止nginx服务

systemctl stop nginx
  • 1

重新启动服务

    systemctl restart  nginx
  • 1

设置开机自启动

    systemctl enable nginx
  • 1

停止开机自启动

    systemctl disable nginx
  • 1

查看服务当前状态

    systemctl status  nginx
  • 1

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

查找nginx.conf文件

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

切换工作目录到查找到的路径中,使用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;   #首页页面
        }
     } 
     ...
     ...
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

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

使用nginx实现多站点

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


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/120353
推荐阅读
相关标签
  

闽ICP备14008679号