转载部分藏兵谷java 设计

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

2019-12-15  本文已影响0人  CoderZb

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

1.配置二级域名

image.png
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>
sudo a2ensite book.520byte.conf
sudo a2ensite vue.520byte.conf
sudo a2ensite blog.520byte.conf
sudo a2ensite ten.520byte.conf
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
上一篇 下一篇

猜你喜欢

热点阅读