centos部署vue项目

简介: 参考链接nodejs服务器部署教程二,把vue项目部署到线上打包#在本地使用以下命令,打包npm run build #打包之后本地会出现dist文件夹。将dist文件夹以及package.json 文件上传到centos服务器上,此处随便什么位置,新建个文件夹就能放。

参考链接
nodejs服务器部署教程二,把vue项目部署到线上

打包

#在本地使用以下命令,打包
npm run build 
#打包之后本地会出现dist文件夹。将dist文件夹以及package.json 文件上传到centos服务器上,此处随便什么位置,新建个文件夹就能放。

启动项目

新建一个app.js文件,文件内容如下

//定义目录
const fs = require('fs');
const path = require('path');
const express = require('express');
const app = express();
//vue目录
app.use(express.static(path.resolve(__dirname, './dist')))

app.get('*', function(req, res) {
    const html = fs.readFileSync(path.resolve(__dirname, './dist/index.html'), 'utf-8')
    res.send(html)
})
//定义启动的端口号
app.listen(8082);

运行如下命令:

#安装依赖包,如果系统中没有安装node,npm命令会找不到
npm install
#启动vue项目(pm2命令也需要单独安装,安装之后再执行下面命令)
pm2 start app.js

执行上面操作之后,访问127.0.0.1:8082就可以了,根据自己设置的端口访问。如果想从外网访问,则需要知道自己的ip,ip:port的方式就可以从外网访问。

使用Nginx代理,使用域名访问

如果Nginx安装不会请点击此处

Nginx配置文件(/etc/nginx/nginx.conf)

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    #以上配置均是默认值未曾修改,如果想搞懂上面的是什么意思,自己去慢慢学习吧
    #这个配置是负载均衡使用的
    #此处的app_nodejs是负载均衡的名字
    upstream app_nodejs {
        #访问的实际地址是下面的,可以有多个,多个时就达到了负载均衡的作用,后面其实还有一个参数,但是此处写不写无区别。
        server 127.0.0.1:8082;
        keepalive 64;
    }
        server {
        #监听的是80端口,不建议换成其他端口,因为换成其他端口后,你访问时,域名也得加上加上端口,比如端口号改成8080,访问时则是:onloading.cn:8080
        listen  80  default;
        #访问的域名
        server_name onloading.cn; 
        #如果访问的是ip,则直接返回404,此处只允许通过域名访问
        if ($host ~ "\d+\.\d+\.\d+\.\d") {
                return 404;
        }
        location / {
            proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_set_header Connection "";
                #指定使用哪个负载均衡,其他location的值均属于默认值
            proxy_pass http://app_nodejs;
            proxy_redirect off;
        }

        }
}

    

配置完之后,使用onloading.cn边可以访问你的项目了。

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
17天前
|
JavaScript 应用服务中间件 nginx
vue项目中页面遇到404报错
vue项目中页面遇到404报错
|
17天前
|
JavaScript
Vue项目中强制刷新页面的方法
Vue项目中强制刷新页面的方法
14 0
|
1月前
|
JavaScript 前端开发 网络架构
Vue3项目中使用vue-router
Vue3项目中使用vue-router
44 0
|
1天前
|
JavaScript
Vue 如何新建一个项目(如何安装依赖)
Vue 如何新建一个项目(如何安装依赖)
9 0
|
8天前
|
JavaScript
vue3+vite项目配置ESlint
vue3+vite项目配置ESlint
12 0
|
8天前
|
JavaScript
Vue项目使用bpmn预览流程图
Vue项目使用bpmn预览流程图
10 0
|
8天前
|
JavaScript
vue项目使用可选链操作符编译报错问题
vue项目使用可选链操作符编译报错问题
18 0
|
8天前
|
JavaScript
Vue项目启动报错处理
Vue项目启动报错处理
9 1
|
10天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
12天前
|
JavaScript 搜索推荐 测试技术
深入了解 Vue CLI:现代化 Vue.js 项目开发工具
深入了解 Vue CLI:现代化 Vue.js 项目开发工具