nodejs 服务器怎么导入qs_Vue项目部署到腾讯云服务器

f11b87af487123a92084d8dfca859625.png

vue 项目部署到腾讯云服务器断断续续用了几天的时间,遇到很多问题,也查了很多资料,问了不少git里面的大佬。想总结一下这几天项目放在服务器上遇到的难题和解决办法。

首先购买了腾讯云的服务器

学生套餐120一年。我买的是北京一区的服务器,选择CentOS系统64位,我选的是7.2版本,其他默认快速配置即可。首先是实名认证,备案域名(今天才备案,估计要20天吧才可以用域名访问)。

给服务器添加安全组

在腾讯云控制台里面直接在安全组添加放通全部窗口(虽然有一定风险,但是为了方便调试和xhsell连接服务器),然后在实例里面给服务器绑定安全组即可。

添加SSH秘钥

在控制台秘钥中生成SSH秘钥,10分钟内下载到本地。在Xshell中创建连接,属性中名称随便填写,主机写公网ip,选择SSH协议,端口默认22即可。第一次点击连接会弹出一个输入密码的对话框,填写服务器密码然后选择public key,选择文件就选刚刚下载的秘钥(密码框为了安全性是根本不需要填写的,这是SSH秘钥的特点),便成功连接了云服务器。

修改本地源代码文件

在上传文件到服务器之前先要修改一下基础的项目配置,即部分webpack等基础设置,来支持代码在服务器运行。

在config目录下将index.js中的target改为内网ip,host改为公网ip

 proxyTable: {
      '/api': {
        target: 'http://172.21.0.14:8080',
        pathRewrite: {
           '^/api': '/static/mock'
        }
      }
    },

    // Various Dev Server settings
    host: '140.143.54.6', // can be overwritten by process.env.HOST

这种static目录下的package.json中对webpack做如何修改,这样就可以通过ip地址访问了

 "dev": "webpack-dev-server --host 0.0.0.0 --inline --progress --config build/webpack.dev.conf.js",

将文件上传到服务器

方法一:通过git来上传文件。

首先在CentOS服务器安装git,采用自带的yum安装git十分简单,但是装的版本过低

yum install git

所以采用如下方法:从github上下载最新的源码编译后安装git

1.进入git在github上的发布版本页面https://github.com/git/git/releases。在这个页面我们可以找到所有git已发布的版本。这里我们选择最新版的tar.gz包。

2.获取到最新包的下载链接后,我们进入linux服务器,开始下载。

wget https://codeload.github.com/git/git/tar.gz/v2.13.0-rc1

耐心等待下载完成。我们可以看到下载后的文件名是v2.13.0-rc1,并不是压缩包的格式,不用担心,这只是链接的问题,手动修改文件名为v2.13.0-rc1.tar.gz。

mv v2.13.0-rc1 v2.13.0-rc1.tar.gz

下载git源码后,解压压缩包

tar -zxvf v2.13.0-rc1.tar.gz

进入解压后的文件夹

cd git-2.13.0-rc1

源码解压完成

3.拿到解压后的源码以后我们需要编译源码了,不过在此之前需要安装编译所需要的依赖。输入如下命令。

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

耐心等待安装完成,中途出现提示的时候输入y并按回车。

4.提示,安装编译源码所需依赖的时候,yum自动帮你安装了git,这时候你需要先卸载这个旧版的git。

yum remove git

耐心等待删除完成,中途出现提示的时候输入y并按回车。

5.编译git源码

make prefix=/usr/local/git all

耐心等待编译完成,中途可能会花费几分钟的时间。

6.安装git至/usr/local/git路径

make prefix=/usr/local/git install

等待安装完成

7.打开环境变量配置文件

vim /etc/profile

在底部加上git相关配置,把原来export的内容修改掉(这里用到vim的知识,按i进入编辑模式,完成按下esc退出编辑,按:wq 回车保存退出)

PATH=$PATH:/usr/local/git/bin
export PATH

修改环境变量后,刷新环境变量

source /etc/profile

8.输入git --version检查git是否安全完成,以及查看其版本号。

安装完成后便可以配置服务器上的git和码云仓库的关联。按照码云官网教程在CentOS生成SSH公钥添加到码云(在本地会生成一个私钥,和码云打通)。

在Xshell中通过

git clone  ...SSH地址

来完成码云下载到本地,后面...为仓库SSH

二.通过Xftp上传文件

Xftp就是有点慢,不太方便下载整个文件,但是每次改动代码时候,可以把改动部分通过Xftp替换掉服务器中文件。因为mock不会下载到服务器,所以可以通过Xftp上传到static中

下面要进行服务器中node的安装

这里安装在local目录下

cd /usr/local/
wget ...node官网下载地址

解压

tar -xvf node...tar.xz

可以把文件名缩短,变为nodejs

mv node...  nodejs

进入bin文件夹下

cd nodejs/
cd bin/

配置环境变量

ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin

查看是否安装完成

cd /usr/local/bin/
ls
node -v
npm -v

在服务器运行WebApp

首先进入文件

cd Travel

安装项目依赖,这时候会报错,可以忽视掉

npm i

编译产生dist目录,但这个有可能会报错

ef052e7c258c0342e5663cf1ab06c889.png
电脑是 Windows 的文件名不区分大小写但是在服务器 Linux 上文件名区分大小写了虽然 NTFS 是区分大小写的,还是报错了,通过Xftp在服务器上把报错的文件名大小写改为提示中一样
npm run build

启动服务

npm run start

这时候就可以通过公网ip访问啦

当然,想要在断开Xshell连接时,网站依然存在,就可以通过screen

1、安装screen命令

yum install screen #安装 

2、创建screen会话

screen -S session_name #创建screen会话,自定义screen虚拟终端的名称

创建会话后自动进入该虚拟终端

4、测试

我们可以执行一个服务,然后关闭SSH远程连接窗口,然后重新登录

screen -r session_name #查看之前的虚拟终端 

自动会进入该虚拟终端,我们也就会看到还在运行。

5.重新打开Xshell后查看已创建的会话

screen -ls #查看所有screen会话 

6.关闭会话,停止网站

  screen -S session_name -X quit

关于域名、部署多个项目要等域名备案结束后更新啦!

2019.3.10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值