nginx部署多个vue或react项目

下载nginx(tar.gz)

nginx: download(官方地址)

部署nginx

bash 复制代码
# 进入nginx压缩包所在目录
cd /usr/nginx
 
# 解压
tar -zxvf nginx-1.25.3.tar.gz

# 安装nginx的相关依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

# 生成Makefile可编译文件
cd /usr/nginx/nginx-1.25.3
# --prefix=PATH:指定nginx的安装目录(默认/usr/local/nginx)
./configure --with-http_ssl_module

# 编译和安装
make
make install

# 进入nginx安装目录下的sbin目录(默认:/usr/local/nginx/sbin)
cd /usr/local/nginx/sbin

# 执行脚本启动 nginx 服务
./nginx

# 安装查看端口的工具
yum install net-tools

# 查看nginx进程
ps -ef | grep nginx
# 查看进程id所占用的端口号(默认80端口)
netstat -nap | grep 进程id

配置vue或者react项目(以vite构建的项目为例,修改vite.config.ts文件)

主项目

TypeScript 复制代码
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  base: "/",
  plugins: [react()],
})

子项目(注意:这里base不能为/,否则不生效)

TypeScript 复制代码
import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
    base: "/like/",
    plugins: [vue()],
    server: {
        host: '0.0.0.0',
        port: 10000
    },
})

将打包好的dist目录上传到自己配置的linux目录下(例如我是放到/usr/web目录中)

配置nginx.cnf文件(默认位置:/usr/local/nginx/conf/)

bash 复制代码
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/web/main/dist/;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        # 子项目
        location /like {
            alias /usr/web/like/dist/;
            try_files $uri $uri/ /dist/index.html last;
            index index.html;
        }
    }
}

修改完成后重启nginx

bash 复制代码
./nginx -s reload

这个时候就可以分别访问了

效果如下:

访问:ip

访问:ip/like

相关推荐
计算机-秋大田2 分钟前
基于微信小程序的校园失物招领系统设计与实现(LW+源码+讲解)
java·前端·后端·微信小程序·小程序·课程设计
林涧泣12 分钟前
【Uniapp-Vue3】下拉刷新
前端·vue.js·uni-app
浪遏20 分钟前
Langchain.js | Memory | LLM 也有记忆😋😋😋
前端·llm·aigc
luoganttcc1 小时前
华为升腾算子开发(一) helloword
java·前端·华为
纸飞机√※1 小时前
windows下部署安装 ELK,nginx,tomcat日志分析
windows·nginx·elk·tomcat
九月十九2 小时前
AviatorScript用法
java·服务器·前端
Jane - UTS 数据传输系统2 小时前
VUE+ Element-plus , el-tree 修改默认左侧三角图标,并使没有子级的那一项不展示图标
javascript·vue.js·elementui
_.Switch3 小时前
Python Web开发:使用FastAPI构建视频流媒体平台
开发语言·前端·python·微服务·架构·fastapi·媒体
菜鸟阿康学习编程3 小时前
JavaWeb 学习笔记 XML 和 Json 篇 | 020
xml·java·前端
索然无味io4 小时前
XML外部实体注入--漏洞利用
xml·前端·笔记·学习·web安全·网络安全·php