ubuntu:在ubuntu系统上使用apache2服务器部署多个vue项目

在Ubuntu系统上使用Apache2服务器部署多个Vue.js项目,你可以按照以下步骤进行操作:

1. 安装 Apache2

如果你的系统上还没有安装Apache2,可以使用以下命令安装:

bash 复制代码
sudo apt update
sudo apt install apache2

2. 配置虚拟主机

要部署多个Vue.js项目,最好为每个项目配置一个单独的虚拟主机。这样,每个项目可以具有独立的域名或子域名,并且可以分别配置。

首先,创建一个虚拟主机配置文件。假设你有两个项目,分别是"project1"和"project2",你可以执行以下命令:

bash 复制代码
sudo nano /etc/apache2/sites-available/project1.conf

然后,在编辑器中添加以下配置(将域名和文件路径替换为实际值):

bash 复制代码
<VirtualHost *:80>
    ServerAdmin webmaster@project1.com
    ServerName project1.com

    DocumentRoot /var/www/project1/dist   # 项目1的Vue.js打包后的目录路径

    <Directory /var/www/project1/dist>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

保存并关闭文件。然后创建第二个项目的虚拟主机配置文件:

bash 复制代码
sudo nano /etc/apache2/sites-available/project2.conf

然后添加以下类似的配置:

bash 复制代码
 
<VirtualHost *:80>
    ServerAdmin webmaster@project2.com
    ServerName project2.com

    DocumentRoot /var/www/project2/dist   # 项目2的Vue.js打包后的目录路径

    <Directory /var/www/project2/dist>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

保存并关闭文件。

3. 启用虚拟主机

接下来,启用这两个虚拟主机配置文件:

bash 复制代码
 
sudo a2ensite project1.conf
sudo a2ensite project2.conf

4. 重启 Apache2 服务器

bash 复制代码
sudo systemctl restart apache2

5. 设置域名解析

确保你的域名已经解析到你的服务器IP地址。你可以在DNS管理面板上配置域名解析,或者在本地 /etc/hosts 文件中添加条目来模拟域名解析,如:

bash 复制代码
sudo nano /etc/hosts

在文件中添加以下行:

bash 复制代码
127.0.0.1 project1.com
127.0.0.1 project2.com

保存并关闭文件。

6. 部署 Vue.js 项目

将每个Vue.js项目的打包文件(通常在dist目录下)上传到相应的目录(上面配置的DocumentRoot路径)。

7. 测试

现在,你可以在浏览器中访问 http://project1.comhttp://project2.com 来查看你的Vue.js项目是否成功部署。

这些步骤可以帮助你在Ubuntu系统上使用Apache2服务器部署多个Vue.js项目。每个项目都有自己独立的虚拟主机配置,以确保它们在同一服务器上能够独立运行。


8.备注

  • 如果没有域名,ServerName 可以换成 your_server_ip # 使用服务器的IP地址
相关推荐
赋创小助手6 小时前
融合与跃迁:NVIDIA、Groq 与下一代 AI 推理架构的博弈与机遇
服务器·人工智能·深度学习·神经网络·语言模型·自然语言处理·架构
电商API&Tina6 小时前
跨境电商 API 对接指南:亚马逊 + 速卖通接口调用全流程
大数据·服务器·数据库·python·算法·json·图搜索算法
IT19956 小时前
Qt笔记-使用SSH2进行远程连接linux服务器并上传文件
linux·服务器·笔记
whlqjn_12116 小时前
ubuntu启动失败报error: the initrd is too big错误
ubuntu
老华带你飞7 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
北京盟通科技官方账号7 小时前
工业通讯底层对齐:EtherNet/IP Class 1 连接中的 32-bit Header 与内存映射逻辑
服务器·网络·网络协议·自动化·制造
C_心欲无痕7 小时前
vue3 - 类与样式的绑定
javascript·vue.js·vue3
lengjingzju8 小时前
一网打尽Linux IPC(三):System V IPC
linux·服务器·c语言
JIngJaneIL8 小时前
基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
知识分享小能手8 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04文件压缩与解压缩知识点详解(12)
linux·学习·ubuntu