Vue放置阿里云踩坑记录

准备工作

先按照之前的博文装好node环境,然后开始安装Nginx以及Screen
需要安装C++编译环境yum install gcc-c++

安装Nginx

  • 主程序
    wget http://nginx.org/download/nginx-1.9.9.tar.gz
    tar zxvf nginx-1.9.9.tar.gz
    cd nginx-1.9.9.tar.gz
    ./configure && make && make install

  • openssl–可以使用https,不需要可以不装
    wget http://www.openssl.org/source/openssl-fips-2.0.16.tar.gz
    tar zxvf openssl-fips-2.0.16.tar.gz
    cd openssl-fips-2.0.16
    ./config && make && make install

  • 一个压缩库
    wget http://zlib.net/zlib-1.2.11.tar.gz
    tar zxvf zlib-1.2.11.tar.gz
    cd zlib-1.2.11.tar.gz
    ./configure && make && make install

  • nginx的rewrite伪静态匹配规则用到正则,pcre就用来干这个
    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.21.tar.gz
    tar zxvf pcre2-10.21.tar.gz
    cd pcre2-10.21
    ./configure && make && make install

安装Screen

  • 安装
    yum install screen
  • 创建名为vue的会话
    screen -S vue进程ID同理
  • 恢复会话
    screen -r vue
  • 暂时退出
    Ctrl+a d(即按住Ctrl,依次再按a,d)
  • 关闭会话 screen -X -S 17708 quit
  • 这玩意儿的作用是之后会用json-server模拟后端,这个可以保持进程运行

linux会用到的操作

  • 显示所有进程
    ps aux | less
  • 关闭进程 kill -9 id

搭建

将vue内的文件复制到某个目录下,不需要复制模块文件,然后执行npm install安装,执行npm run build,应该就有个disk文件夹

配置Nginx

  • 先看看装哪儿了
    whereis nginx
    一般是
    usr/local/nginx
  • 进入安装目录
    cd usr/local/nginx
  • 启动
    /usr/local/nginx/sbin/nginx
  • 如果提示端口占用
    查看占用端口 netstat -lnp|grep 80或者lsof -i:80
    干掉kill -9 进程id
  • 重新运行 浏览器输入IP,应该能看到Nginx运行成功的提示页面
  • 配置 这东西可以讲很搭一篇,只简单说下怎么配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    http{server{
    listen 80;
    server_name localhost;

    location / {
    root /home/vue/dist;
    index index.html index.htm;
    }
    location = /50x.html {
    root /home/vue/dist;
    }
    }}
  • 重启Nginx /usr/local/nginx/sbin/nginx -s reload或者sbin/nginx -s reload

好了,访问页面吧~

  • http跨域配置 不多讲,一看就知道写的大概是啥,有可能用上
    1
    2
    3
    4
    5
    6
    location ~ /api/ {
    proxy_pass http://localhost:3000/;
    proxy_set_header Host $host:80;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

mongoDb

操作

  • 创建数据库
    use admin
    db.createUser({user:"admin",pwd:"admin",roles:["root"]})
    db.auth("admin","admin")
    use news
    db.createUser({user: "news", pwd: "123456", roles: [{ role: "dbOwner", db: "news" }]})
    创建news 用户名,指定news为数据库
    db.createUser({user: "user", pwd: "123456", roles: [{ role: "dbOwner", db: "user" }]})
    认证
    mongod --config E:\Coding\Vue\shop\server\db\etc\mongo.conf --auth
  • 查看数据库列表
    show dbs
  • 创建集合
    db.user.insert({id:123,name:'hello'})
  • 删除数据库 db.dropDatabase()
  • 插入数据库 db.user.insert({id:1})
  • 删除集合 db.user.drop()
  • 增删改查
  • 增加
    db.user.insert({userId:101,userName:'jack',userAge:28,class:{name:'one',num:10}})
  • 查看数据库
    db.user.find() .pretty()格式化数据
    find({userAge:{$gt: 40}}) gt为大于,lt小于,eq等于,gte大于等于,lte小于等于
  • 更新(查询原值,新值)
    db.user.update({userName:'jack'},{$set:{userAge:30}})
    查询值如果为’’,set也必须为’’
  • 删除数据
    db.user.remove({userId:101})
  • 批量导入
    mongoimport -d dbt -c user --file 路径
    导入的数据库名,集合

启动

./mongod --config ./mongodb.conf
修复模式,看报错,num 1或num 100,删除目录下Lock文件,且以修复模式启动
./mongod --config ./mongodb.conf --repair

关闭

不能直接kill -9 关闭
use进入后使用db.shutdownServer()

配置文件

Linux

1
2
3
4
5
port=27017  
dbpath=/home/vue/server/db/data
logpath=/home/vue/server/db/log/mongodb.log
fork=true
nohttpinterface = true

win

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#数据库路径
dbpath=E:\Coding\Vue\shop\server\db\data
#日志输出文件路径
logpath=E:\Coding\Vue\shop\server\db\log\mongodb.log
#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=false
#端口号 默认为27017
port=27017
#是否网页访问
nohttpinterface = false
#指定存储引擎(默认先不加此引擎,如果报错了,大家在加进去)
#storageEngine=mmapv1