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地址
相关推荐
倔强的石头1062 小时前
【Linux指南】基础IO系列(八):实战衔接 —— 给微型 Shell 添加完整重定向功能
linux·运维·服务器
Ujimatsu3 小时前
虚拟机安装Ubuntu 26.04.x及其常用软件(2026.4)
linux·运维·ubuntu
冰暮流星3 小时前
javascript事件案例-全选框案例
服务器·前端·javascript
狂奔的sherry5 小时前
一次由 mount 引发的 Linux 文件系统“错觉”
linux·运维·服务器
豆浆煮粉7 小时前
Ubuntu虚拟机对USB设备无响应且Windows主机设备管理器显示警告
windows·ubuntu
M ? A7 小时前
Vue 的 scoped 样式穿透 React 不支持?用 VuReact 编译就行
前端·javascript·vue.js·react.js·面试·开源·vureact
web打印社区7 小时前
[特殊字符] 开源好物:web-print-pdf,让 Web 打印像调用接口一样简单!
前端·javascript·vue.js·electron
zhangrelay8 小时前
三分钟云课实践速通--大学物理--python 版
linux·开发语言·python·学习·ubuntu·lubuntu
阿源-8 小时前
嵌入式 - 在VMware中安装Ubuntu虚拟机
ubuntu·嵌入式
℡終嚸♂6808 小时前
n8n 未初始化接管到读取 Flag Writeup
服务器·web安全·web·n8n