美文网首页转载部分藏兵谷java 设计
二级域名+Nginx反向代理实现多个域名指向同一个公网ip

二级域名+Nginx反向代理实现多个域名指向同一个公网ip

作者: CoderZb | 来源:发表于2019-12-15 21:39 被阅读0次

    最近手头上有4个项目(端口号不同,express部署的所以端口不能一样,否则会提示端口被占用)要部署到服务器上。使用公网ip地址的方式这4个项目都能在浏览器运行,不过不容易记住,因此要将公网ip地址换成域名的方式访问。于是就采取了二级域名+nginx反向代理的方式实现了功能。使用这种nginx的这种转发方式,也可以避免跨域的问题。

    1.配置二级域名

    • 阿里云服务器上,创建4个类型为A记录的二级域名


      image.png
    image.png
    • ubuntu上创建目录
    cd /var/www/
    mkdir blog
    mkdir book
    mkdir ten
    mkdir vue
    
    image.png
    • 映射
    sudo vim /etc/hosts  
    127.0.0.1       blog.520byte.com
    127.0.0.1       ten.520byte.com
    127.0.0.1       vue.520byte.com
    127.0.0.1       book.520byte.com
    
    
    image.png
    • 配置
    cd /etc/apache2/sites-available/
    sudo cp /etc/apache2/sites-available/000-default.conf  book.520byte.conf
    sudo cp /etc/apache2/sites-available/000-default.conf  vue.520byte.conf
    sudo cp /etc/apache2/sites-available/000-default.conf  blog.520byte.conf
    sudo cp /etc/apache2/sites-available/000-default.conf  ten.520byte.conf
    
    image.png
    然后,book.520byte.conf文件改成如下,vue.520byte.conf和blog.520byte.conf和 ten.520byte.conf对照着改即可
    <VirtualHost *:80>
        ServerName www.book.520byte.com
        ServerAlias www.book.520byte.com
        DocumentRoot /var/www/book/ 
        <Directory /var/www/book/>
            Options FollowSymLinks
            AllowOverride None
            Require all granted
        </Directory>
        ServerAdmin webmaster@localhost
    </VirtualHost>
    
    • 执行a2ensite命令
    sudo a2ensite book.520byte.conf
    sudo a2ensite vue.520byte.conf
    sudo a2ensite blog.520byte.conf
    sudo a2ensite ten.520byte.conf
    
    • 重启,1次不行,多重启几次
    sudo service apache2 restart 
    

    2.配置nginx反向代理

    vim /etc/nginx/nginx.conf
    

    添加如下内容

    server {
            listen       80;
            server_name   book.520byte.com;
            location / {     
                    proxy_pass  http://149.129.100.132:3000;
            }     
        }
        server {
            listen       80;
            server_name   vue.520byte.com;
            location / {     
                    proxy_pass  http://149.129.100.132:88;
            }     
        }
        server {
            listen       80;
            server_name   ten.520byte.com;
            location / {     
                    proxy_pass  http://149.129.100.132:3003;
            }     
        }
        server {
            listen       80;
            server_name   blog.520byte.com;
            location / {     
                    proxy_pass  http://149.129.100.132:83;
            }     
        }
    
    • 保存执行如下两个命令
    sudo nginx -t
    sudo nginx -s reload
    

    相关文章

      网友评论

        本文标题:二级域名+Nginx反向代理实现多个域名指向同一个公网ip

        本文链接:https://www.haomeiwen.com/subject/koplnctx.html