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地址
相关推荐
我爱学习好爱好爱8 分钟前
Ansible 常用模块详解:cron、archive、unarchive实战
linux·服务器·ansible
乌恩大侠26 分钟前
【KrakenSDR】MATLAB接口
服务器·网络·matlab
雨雨雨雨雨别下啦42 分钟前
Vue3——RabbitShopping
前端·javascript·vue.js
似水এ᭄往昔1 小时前
【Linux】--进程概念
linux·运维·服务器
IDIOT___IDIOT1 小时前
Linux 使用 `cp` 命令导致挂载点被覆盖问题记录
linux·运维·服务器
RisunJan1 小时前
Linux命令-mount(用于挂载Linux系统外的文件)
linux·运维·服务器
脆皮炸鸡7552 小时前
Linux开发工具~~~版本控制器Git以及调试工具GDB
linux·服务器·开发语言·经验分享·git·学习方法
马尔代夫哈哈哈2 小时前
用户聊天室-测试报告
运维·服务器
xuejiazhi2 小时前
在Ubuntu下安装OpenClaw
linux·运维·服务器
苏琢玉2 小时前
Go + Vue 打包成一个单二进制的后台系统,我做了个后台脚手架
vue.js·golang