首先自己必须拥有一台服务器
通过ssh 命令连接服务器
ssh name@ip
输入密码后就进入服务器配置
这里要是ssh不能用的话需要配置环境变量 解决方法ssh不是内部或外部命令,也不是可运行的程序或批处理文件【已解决】_落日钢琴家的博客-CSDN博客_ssh' 不是内部或外部命令,也不是可运行的程序
ubuntu 基本指令
sudo apt-get update
首先更新一下资源列表,更新有关存储库的软件包信息
Mongodb 环境配置
环境
系统:Ubuntu 16.04
MongoDB 版本:3.6
1.添加 MongoDB 签名到 APT
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
2.官方镜像下载速度过慢可采用国内镜像进行安装:
// Ubuntu 14.04
echo "deb http://mirrors.aliyun.com/mongodb/apt/ubuntu trusty/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
Ubuntu 16.04
echo "deb http://mirrors.aliyun.com/mongodb/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
更新软件源列表
$ sudo apt-get update
安装 MongoDB
sudo apt-get install -y mongodb-org --allow-unauthenticated
运行 MongoDB
1.启动 MongoDB
sudo service mongod start
aly_db_connect.js 是为了往服务器数据库添加数据的
当启动成功之后就会通过服务器的地址,来访问数据库,在可视化工具里面输入mongodb://59.110.105.217:27017就会进入数据库,此时本地可视化工具就可以访问,本地node也可以访问了
const mongoose = require('mongoose');
mongoose.connect('mongodb://59.110.105.217/game',{ useNewUrlParser: true });
// mongoose.connect('mongodb://10.211.55.3:27017/dumpling',{ useNewUrlParser: true });
let db = mongoose.connection;
db.on("error", function (error) {
console.log("Database connection failure:" + error);
});
db.on("open", function () {
console.log("数据库连接成功");
initData();
})
db.on('disconnected', function () {
console.log('数据库连接断开');
})
function initData() {
const Schema = mongoose.Schema;
let userSchema = new Schema({
// _id:{type:String,required:true},
user: { type: String, default: null },
pass: { type: String, default: null },
ctime: { type: Date, default: Date.now },
});
let userModel = mongoose.model("user", userSchema);
userModel.insertMany({ user: "wangyi", pass: "hehe" }).then((db) => {
console.log(db);
console.log("添加 ok");
});
}
2.通过日志确认 MongoDB 启动成功
$ tail -10f /var/log/mongodb/mongod.log
看到下列内容则为启动成功
[initandlisten] waiting for connections on port 27017
注意 :还要对MongDB配置文件进行修改
cd /etc/ //进入根目录
vim mongod.conf //对配置文件进行修改
改成 0.0.0.0
此时写一个接口测一下本地是否能够访问
userModel.js
const express = require("express");
const app = express();
// 连接数据库
const alyDb = require('./db/aly_db_connect');
// const atlasDb = require("./db/atlas_db_connet");
// 数据模型
const userModel = require('./db/model/userModel');
app.get("/login",(req,res) => {
const { user, pass } = req.query;
userModel.findOne({ user, pass } )
.then((data) => {
if(data) {
return res.send({ code:0, msg:"登录成功"})
}
res.send({ code:-1, msg:"登录失败"})
})
})
app.listen(3000,() => {
console.error("server start in 3000")
})
// http://www.mongoosejs.net/
server.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
// Schema 数据的映射
let userSchema = new Schema({
// _id:{type:String,required:true},
user: { type: String, default: null },
pass: { type: String, default: null },
ctime: { type: Date, default: Date.now },
});
let userModel = mongoose.model("user", userSchema);
//表结构和表做关联 mongoose.model(表名, 表结构对象);
// let userModel = mongoose.model("user", userSchema);
module.exports = userModel;
http://localhost:3000/login?user=wangyi&pass=hehe
此时就可以通过这个接口访问成功
3.关闭 MongoDB
$ sudo service mongod stop
4.重启 MongoDB
$ sudo service mongod restart
5.查看 MongoDB 状态
$ sudo service mongod status
因为我们想要服务器地址也可以访问,而不是只有locallhost本地才能访问所以需要在服务器安装一下node
Node环境配置
通过wget安装nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.37.2/install.sh | bash
curl -o- git://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
环境变量配置
source ~/.bashrc
安装node
nvm install 14.12.0
装好测试一下是否安装成功
nvm --version
此时我们需要把我们的代码放到服务器上,就用FileZilla,通过下面网址进行下载
客户端 - FileZilla中文网
链接服务器之后,找到一个文件夹,把自己的代码拖进去就可以
我们是把代码都放进到了服务器的mnt/api目录下
所以进入这个文件夹 cd /mnt/api
首先 npm i 把插件下载一下 执行我们传到api文件下的server.js
node.server.js 就启动了服务
http://59.110.105.217:3000/login?user=wangyi&pass=hehe 在地址输入服务器的地址就可以访问了
但是有一个问题,当我们在执行别的命令的时候服务就终止了,所以就要用到screen 守护进程
screen 守护进程
先下载
apt install screen
screen -S name
screen -r 读取
screen -ls 展开
ctrl+a+d 退出
在这里我们就要在api目录下执行 screen -S GP29-api 就会跳到这个文件夹里面,我们在执行node server.js ctrl a+d退出,这个服务就会一直开启着,screen -ls可以看到我们现在有多少个进程,前面是进程的标识,通过这个标识可以读取这个进行,我们可以通过screen -r 1986.GP29-api 进入这个进程,来操作这个进程,比如关了服务
Nginx 环境配置
基于apt安装
sudo apt-get install nginx
安装好的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
sites-available 修改 端口号 www文件目录
sites-enabled 服务器使用的文件
默认目录 /var/www/html
基本命令
停止服务 /nginx -s stop
启动服务 ./nginx
重启服务 ./nginx -s reload
cd //var/www/html 进入这个目录下 然后ls
vim index.nginx-debian.html 就可以修改这个页面了
代理转发配置
/etc/nginx
/etc/nginx/sites-enabled
location ^~/qq/ {
proxy_pass "https://c.y.qq.com/qq/;
}
location ^~/qq/ {
proxy_pass "http://www.lrfc.vip:1798/fch/;
}
传项目,首先通过FileZilla把项目放到var/www/html 文件夹下,因为这个是nginx的显示页面的目录,我们把这个打包的dist文件放入,注意这里多了一层dist所以在项目的vue.config.js里面进行配置 publicPath: "/dist",这样我们的js引用地址前面就会多加了一个/dist
z在这里我们还需要配置nginx的代理
首先 cd /etc/nginx 进入这个目录 在进行ls
vim sites-enabled 进入这个文件下 ls 有个default ,然后在vim default 进入进行编辑
location ^~/qq/ {
proxy_pass "https://c.y.qq.com/qq/";
}
location ^~fcj/ {
proxy_pass "http://www.lrfc.vip:1798/fcj/";
}
cd /user/sbin 调试完成进入这个路径重启nginx
./nginx -s reload
现在就上线完成