最近手頭上有4個(gè)項(xiàng)目(端口號(hào)不同憨募,express部署的所以端口不能一樣,否則會(huì)提示端口被占用)要部署到服務(wù)器上袁辈。使用公網(wǎng)ip地址的方式這4個(gè)項(xiàng)目都能在瀏覽器運(yùn)行菜谣,不過(guò)不容易記住,因此要將公網(wǎng)ip地址換成域名的方式訪問(wèn)晚缩。于是就采取了二級(jí)域名+nginx反向代理的方式實(shí)現(xiàn)了功能尾膊。使用這種nginx的這種轉(zhuǎn)發(fā)方式,也可以避免跨域的問(wèn)題荞彼。
1.配置二級(jí)域名
-
阿里云服務(wù)器上冈敛,創(chuàng)建4個(gè)類(lèi)型為A記錄的二級(jí)域名
image.png
image.png
- ubuntu上創(chuàng)建目錄
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對(duì)照著改即可
<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>
- 執(zhí)行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
添加如下內(nèi)容
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;
}
}
- 保存執(zhí)行如下兩個(gè)命令
sudo nginx -t
sudo nginx -s reload