打包项目
在前端的文件中,查看vue.config.js文件是否包含
module.exports = {
publicPath: process.env.NODE_ENV === 'production'
? './'
: '/',
devServer: {
proxy: {
//配置跨域
'/api': {
target: 'http://47.119.191.151/',
//这里是后台的地址模拟的,应该填写真实的后台接口,应该为你项目相应的后端接口
changOrigin: true,
//允许跨域
}
}
},
}
然后在router文件下的index.js文件里修改,将mode: ‘hash’
const router = new VueRouter({
mode: 'hash',
routes
})
然后执行npm run build,打包成功了,会生成dist文件,在这个文件里面会有一个index.html文件,你直接可以在本地打开,不需要启动项目。
在服务器安装、配置环境和部署前端
1.yum install -y nodejs,下载node环境,包括npm包
2.npm install -y pm2,下载pm2管理node项目
3.yum install -y nginx,下载nginx
4.安装完成就启动nginx,
5.打开nginx的默认配置文件/etc/nginx/nginx.conf,修改配置,将默认将默认的 root /usr/share/nginx/html; 修改为: root /data/www,命令是vim /etc/nginx/nginx/conf,
6.要阿里云官方放行80端口,8888,888等端口
在/data目录下创建www目录,进入到data目录(cd /data),创建www文件(mkdir www),进入www目录(cd www),在这个目录下通过xshell工具将
7.将dist文件保存到服务器里面的文件夹中,就是/root/www/data这个目录
然后是重新启动nginx(nginx -s reload)
看到前端的页面
8.修改客户端内容,就是要Xshell终端,输入 cd /data/www 进入放客户端文件的目录,然后在点击Xftp
部署后端
1.后端的接口文件一定要和服务器的数据库的信息一致!
2.你可以在/root/www/data的目录下创建server文件夹,然后将后端的文件都放到这里面来(是通过xftp上传文件,记得不要把node_module拉进来,可以会出现问题),在相应的文件目录通过(npm install)下载依赖,
3.测试,可以自己放一个node简单项目成功就可以执行, pm2 start ./bin/www --name blogServe
4.使用pm2管理node项目,因为代码是要使用3000端口,所以要在阿里云官网的服务器实例的安全组放行3000端口,并开始项目(pm2 start ./bin/www --name blogServe),pm2 status可以查看状态,ls 查看文件,cd 进入文件,fuser -n tcp 3000 查看3000端口是否被占用,kill -9 pid 杀死占用端口的进程
5.部署好了后端可以通过公网地址加3000端口,可以查看接口,47.119.191.151:3000,
但是这是点击接口是不能显示数据的,因为mysql还没有下载。
xftp, npm i, node/pm2
部署mysql
1.可以查考blibli上面的视频教程
2.进入到 cd /user/local/src的目录下载mysql(wget http://repo.mysql.com/mysql57-community-release-el7-8noarch.rpm)
3.rpm -ivh mysql57-community-release-e17-8.noarch.rpm
4.yum -y install mysql-server
5.安装完成启动mysql服务,service mysqld restart
6.获得初始密码,grep “password” /var/log/mysqld.log,我遇到的情况是在该目录下没有这个文件,所以要返回上层文件去找
7.最终在var/log/mysql/文件下找到mysqld.log,进入到这个目录var/log/mysql/mysqld.log,然后输入命令grep “password” /var/log/mysql/mysqld.log,发现密码是空的
8. 启动数据库mysql -u root -p,然后在输入密码时,回车就可以了
9. 成功登录mysql数据库,开始修改密码,(alter user ‘root’@‘localhost’ identified by ‘Lmy18688147964!’)
10.执行一个命令,在任何ip下都可以使用,(create user ‘root’@’%’ identified by ‘Lmy18688147964!’)
11.在任何情况下都可以通过root用户来访问数据库(grant all privileges on . to ‘root’@’%’ with grant option)
12.通过这条命令(flush privileges)来刷新权限
13.最后退出mysql,(exit)
14.在src文件下,通过命令开启端口(firewall-cmd --zone=public --add-port=3306/tcp --permanent)
15.firewall-cmd --list-port,来查看端口开启情况,我这里显示为空,要执行下面那条命令,才会
16.firewall-cmd --reload,重启防火墙操作成功,在执行命令firewall-cmd --list-port,就可以显示端口,同时,也要去阿里云的实例安全组设置3306端口。
17.现在可以去naticat哪里链接服务器的数据库,密码是Lmy18688147964!,
点击链接就可以啦
18.最后重启node项目就可以,先暂停pm2 stop id,然后pm2 start ./bin/www --name blogServer.输入公网:3000,就可以找到数据啦