当前位置: 首页 > news >正文

vue 项目部署到nginx 服务器

一 vue 项目打包

1 本地环境

npm run build

2 打包完成生成一个dist 文件夹,将其放到服务器指定的文件夹,此文件夹可以在nginx 配置文件中配置

二 nginx

1 根据对应的系统搜索安装命令

sudo yum install nginx

2 查看conf位置

如果不知道的话
nginx -t

[admin@iZf8zfzio8ppow8wx1a15lZ ~]$ sudo nginx -t
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful

举例一些代码

# 启动nginx
nginx
# 启动时权限不够就sudo
sudo nginx
 
# 查看nginx占用端口
ps -ef|grep nginx
# 查看端口占用情况
lsof -i:8080
 
# 查看nginx安装目录、编译参数、配置文件、日志文件的位置等信息
nginx -V
# 查看conf位置
nginx -t
 
# 优雅停止
nginx -s quit
# 立即停止
nginx -s stop
 
# 重载配置文件
nginx -s reload
# 重新打开日志文件
nginx -s reopen

配置文件
在配置文件中,找到 server 块,修改为以下内容,然后进行保存

server {
    listen 80;
    server_name your_domain.com;  # 替换为你的域名或服务器 IP

    root /var/www/html/dist;  # 指向 dist 文件夹
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;  # 支持 Vue 的路由模式
    }

    # 如果需要禁止访问某些文件
    location ~* \.(htaccess|htpasswd|git|env) {
        deny all;
    }

    # 如果需要配置静态文件缓存
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
        expires 1y;
        add_header Cache-Control "public, no-transform";
    }
}

启动nginx 之前,先进行测试

sudo nginx -t

如果发现绑定端口号有占用 ,使用如下命令查看占用

sudo netstat -tulnp | grep :80

然后杀死进程号
sudo kill -9 1234

然后进行重启服务器

sudo service nginx restart

最后在浏览器访问域名,即可成功

三 上传到文件到服务器

使用scp 命令

scp -r dist/ user@your_server_ip:/var/www/html/

dist 的文件夹

四 安装 SSL 证书

如果需要启用 HTTPS,可以使用 Let’s Encrypt 免费 SSL 证书。

1. 安装 Certbot

sudo yum install certbot python3-certbot-nginx

2. 获取 SSL 证书

后面的路径是nginx 配置文件的路径

sudo certbot --nginx --nginx-server-root /www/server/nginx/conf certonly

记得最后验证一下,一定要输入https:// + 你的域名

相关文章:

  • 生成网页链接二维码
  • 优化 EF Core 和 LINQ 以实现高性能应用程序
  • HarmonyOS学习第10天: 解锁线性布局的魔法排列
  • FinRobot:一个使用大型语言模型进行金融分析的开源AI代理平台
  • 【Elasticsearch】jvm.options.d JVM(Java虚拟机)选项配置
  • Docker 数据卷管理及优化
  • element中el-table表头通过header-row-style设置样式
  • kotlin中reified如何实现真泛型
  • 【落羽的落羽 C++】C++入门基础·其之一
  • 文生图开源模型发展史(2014-2025年)
  • 《asyncio 并发编程》(第四章)——并发网络请求
  • Vue3结合OpenLayers加载GeoJson文件实现离线版世界地图(中国详细数据)以及聚合点位(内部有免费GeoJson资源整合)
  • 辛格迪客户案例 | 祐儿医药科技GMP培训管理(TMS)项目
  • Machine Learning 初探
  • Python使用总结之Python文本转语音引擎:pyttsx3完全指南
  • nio使用
  • 编写一个程序,输入一个数字并输出其阶乘(Python版)
  • Wireshark 插件开发实战指南
  • P1706 全排列问题(DFS)
  • 今日行情明日机会——20250228
  • 深圳房地产信息网官方网站/今日国际重大新闻
  • 网站名 注册/如何自己开发网站
  • 网站打开为建设中/西安百度公司开户
  • nba新闻那个网站做的好/网络运营推广
  • 销售管理系统模板/湖南seo优化价格
  • 婚恋网站做翻译/网站排名优化需要多久