下面介绍如何将基于vue、express、mongodb的项目部署到腾讯云服务器上。
如有错误,欢迎指出。
这里我使用的是webpack构建工具,可以看到我的目录如下
server是我服务端的代码文件,这个文件夹在其他地方也可以,这里为了方遍演示我放到了同一个目录里面,这里先不管他。刚开始是没有dist目录的,dist是打包后生成的目录。
打包之前需要做的事
vue用的是axios请求的数据,所以在开发的时候存在跨域请求,这里需要在项目根目录的config文件夹的index.js中添加这端代码,不懂的可以去百度搜索。
将vue项目里面请求后台数据的接口改为80,因为我这里的前端代码和后台代码都是在同一台服务器上,所以这里的ip地址我用的是 0.0.0.0,然后端口改为80,因为后面需要修改服务的的端口为80。
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/': {
target: 'http://0.0.0.0:80/',
changeOrigin: true,
pathRewrite: {
'^/': ''
}
}
},
接下来开始打包工作
1、在项目根目录运行打包命令
npm run build
可以看到主目录下多了一个dist文件夹,这是webpack打包后生成的文件夹,前端代码全部在这里面
2、将打包后的dist目录放到server文件夹中。
server文件夹就是提供数据的后端文件夹
这里我后端是用的express框架搭建的后台接口,我的目录如下:
3、修改server端的入口文件,我这里是index.js,有的朋友可能是server.js,看个人爱好。
app.use('/public',express.static('public'))
//静态文件路径
app.use(express.static(path.join(__dirname,'dist')))
app.listen(80)
注意1:这里的public是静态文件路径,我这里面放的是前端传入的图片文件。同时还添加了静态文件夹dist(就是刚才打包生成的)。这样才能让server端的代码和前端打包的代码连接起来。
注意2:这里要将exprss监听的端口修改为80,我开始在这里用的端口是3000。到了后面服务器部署的时候开端口一直没有打开,花了很多时间,这里一定要注意。
4、测试本地能否正常运行
在server文件夹下运行代码,如果能够正常运行,就说明打包好了,可以继续往下看。
node index.js
可以看到我这边已经正常启动了,并且localhost:80也能正常访问。
项目部署到服务器上
准备工作,我这里的服务器是centos64的。
1、在服务器上安装node.js
参考连接:node官方安装教程
在RHEL,CentOS或Fedora上,对于Node.js v8 LTS
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
或者对于Node.js 10:
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
然后安装:
sudo yum -y install nodejs
可选:安装构建工具
要从npm编译和安装本机插件,您可能还需要安装构建工具:
sudo yum install gcc-c++ make
# or: sudo yum groupinstall 'Development Tools'
安装成功后使用 node -v查看版本,并能看到是否安装成功
2、安装mongodb
参考连接:mongodb官方安装教程
新建文件
vim /etc/yum.repos.d/mongodb-org-4.0.repo
然后将下面这段代码添加到新建的文件中
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
开始安装
sudo yum install -y mongodb-org
您可以指定任何可用的MongoDB版本。但是yum
,当有更新的版本可用时,请升级软件包。为防止意外升级,请将包装固定。要固定包,请将以下exclude
指令添加到您的/etc/yum.conf
文件中:
exclude = mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
启动mongodb
mongo --host 127.0.0.1:27017
更多mongodb的操作请看官方文档,这里不再讲述。
安装好node和mongodb之后就可以将server文件夹导入到腾讯云服务器上了,放到哪个文件夹看个人喜欢。这里建议导入的时候先删除项目中的依赖文件夹node_modules。因为这个文件夹还是比较大的,导入会花大量时间。
如果这里删除了依赖文件夹,导入之后别忘了在服务器的server文件夹中安装依赖,否则程序无法运行.
安装依赖
npm install
然后进入server文件夹启动js文件就行了。
node index.js
希望对您有所帮助,不懂可以找小编讨论,欢迎交流。