# Linux服务器环境搭建
# 配置git
- yum -y install git //安装git
- git --version 查看git版本,//是否安装成功
- ssh-keygen -t rsa -C "1401271211@qq.com" 生成git秘钥
- cat /root/.ssh/gitee_id_rsa.pub
- 复制内容
- 把内容粘贴到https://gitee.com/profile/sshkeys
- ssh-agent bash
- ssh-add -k id_rsa
- ssh -T git@gitee.com
- 提示
Hi xxx! You've successfully authenticated, but GITEE.COM does not provide shell access.
# 配置node
- uname -a 查看服务器信息
- 打印出 Linux VM_0_7_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 粗体部分代表服务器是64位
- wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz 下载 node
- tar xf node-v10.16.0-linux-x64.tar.xz 解压
- cd /usr/bin/node-v10.16.0-linux-x64 进入解压目录
- cd /usr/local/bin
- ln -s /usr/bin/node-v10.16.0-linux-x64/bin/node 注意这里有一个空格node 使用 ln 命令来设置软连接
- ln -s /usr/bin/node-v10.16.0-linux-x64/bin/npm注意这里有一个空格 npm 使用 ln 命令来设置软连接
- 服务器配置 安全组 (opens new window),开放需要的端口
- 测试服务器是否配置正常的代码
const http = require('http')
const os = require('os');
const hostname = os.networkInterfaces().eth0[0].address;
console.log(hostname,'hostname')
http.createServer(function(req,res) {
console.log(req.url)
res.end('ok')
}).listen('8081',hostname,function(){
console.log(8081)
})
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 安装mogodb
- 建立存放mongodb的数据库文件夹/project_caozepeng_front_end/project_data,和存放日志的文件夹/project_caozepeng_front_end/project_log/mongodb/logs
- wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.10.tgz 安装mongodb
- tar zxvf mongodb-linux-x86_64-4.0.10.tgz 解压
- cd mongodb-linux-x86_64-4.0.10/
- ln -s /src/mongodb-linux-x86_64-4.0.10/bin/* /usr/local/bin 使用 ln 命令来设置软连接 这样就可以在全局使用mongod 命令了
- mongo --version 查看mongo版本
- mongod --dbpath=/project_caozepeng_front_end/project_data 测试下看能不能启动
- pstree -p | grep mongod 查看 行程并以树状图显示
- pkill mongod
# mongodb 操作(mac本地模拟)
- 新建mongo.conf 并配置为以下
dbpath = /Users/zhuge1/学习/vuedata
#日志文件存放目录
logpath = /Users/zhuge1/logs/mongolog.log
#端口
port = 27017
#以守护进程的方式启用,即后台运行;默认false
fork = true
# 关闭web管理访问,默认关闭27018端口访问,这个是在prot端口上加1000
#httpinterface = true
#是否开启权限验证
auth = false
#绑定ip,让其能够通过外网访问, 0.0.0.0代表所有
bind_ip = 0.0.0.0
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
- mongod -f /Users/zhuge1/mongodb/bin/mongo.conf 开启服务
- 打开控制台输入 mongo 进入mongo shell
- use admin 切换至admin
- 创建超级管理员, 用于管理用户角色
添加超管用户root
db.createUser(
{
user:"root",
pwd: "qwer1234!@#$",
roles: [{ role: "root", db: "admin"}]
}
)
db.createUser(
{
user:"caozepeng",
pwd:"qwer1234!@#$",
roles:[{
role:"userAdmin",
db:"admin"
}
]
}
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 创建超级管理员,赋予用户所有数据库的userAdmin权限
db.createUser(
{
user:"userAdmin",
pwd:"qwer1234!@#$",
roles:[{
role:"userAdminAnyDatabase",
db:"admin"
}
]
}
);
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- exit 退出mogno shell
- ps -ef | grep mongo 查看mongo的进程
- sudo kill 74316(pid)关闭mongo进程
- lsof -i tcp:27017 mac查看端口占用情况
- 将 mongod.conf 写入 auth = true
- mongod -f /Users/zhuge1/mongodb/bin/mongo.conf 重启服务
- 输入mongo, 进入mongo shell
- use admin 切换到admin
- db.auth('userAdmin','521kl...') 认证权限
- db.system.users.find() 查看用户
- use projectData 新建数据库
- 创建账户密码
db.createUser(
{
user:"projectData",
pwd: "qwer1234!@#$",
roles: [{ role: "readWrite", db: "projectData"}]
}
)
1
2
3
4
5
6
7
2
3
4
5
6
7
- db.auth('projectData','projectData.')
- show collections 此时你要是没有集合的话,执行以下方法
- db.demo.insert({name:1}) 插入一个集合 demo
- show collections 会看到一个demo集合
# Nginx
- 小程序 xcx
- 公众号 gzh
- h5网站 h5
- pc站点 pc
- 静态资源
# 安装
- sudo yum install nginx 安装Nginx .
- nginx -v 查看nginx版本
- nginx -h 查看nginx的配置项 或者 nginx -V
- cd /etc/nginx 进入nginx安装目录
- cd conf.d/ 进入conf.d/ 文件夹
- pwd 查看当前所在目录
- kill -HUP 26733 优雅重启 或者 nginx -s reload
- kill -USR1 26733 修改日志文件,并重新写入到该文件 nginx -s reopen 重读配置
- nginx -t
- chmod -R 777 /data nginx权限不足
# 内置变量
$document_root | $fastcgi_script_name | $query_string | $request_method | $content_type | $content_length | $request_uri | $document_uri | $document_root | $server_protocol | $scheme | $https if_not_empty | $remote_addr | $remote_port | $server_addr | $server_port | $server_name |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/usr/local/etc/nginx/static/cao/html | /404.html | - | GET | - | - | /static/imgs/timg.jpeg | /404.html | /usr/local/etc/nginx/static/cao/html | HTTP/1.1 | http | if_not_empty | 127.0.0.1 | 52858 | 127.0.0.1 | 8080 | cao.com |
# rewrite
- set 设置变量
- break 跳出rewrite
- if 条件
- rewrite 重写
- return 设置状态吗
# 日志分割
LOGPATH=/usr/local/etc/nginx/logs/access.log
BASEPATH=/usr/local/etc/nginx/backLogs/$(date +%Y%m)
mkdir -p $BASEPATH
bak=$BASEPATH/$(date +%d%H%M).access.log
mv $LOGPATH $bak
touch $LOGPATH
nginx -s reload
1
2
3
4
5
6
7
2
3
4
5
6
7
- crontab -e
- */1 * * * * sh /usr/local/etc/nginx/backLog.sh
# 文件目录
- /etc/nginx nginx 文件目录
- /run/nginx.pid nginx 的pid目录
- /var/log/nginx nginx日志的文件目录
- /usr/share/nginx/ 静态文件目录
# redis安装
- cd /src
- wget http://download.redis.io/releases/redis-5.0.5.tar.gz
- tar xzf redis-5.0.5.tar.gz
- cd redis-5.0.5
- make
- 如果报错
[root@VM_0_7_centos redis-5.0.5]# make
cd src && make all
make[1]: 进入目录“/src/redis-5.0.5/src”
CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/src/redis-5.0.5/src”
make: *** [all] 错误 2
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- yum install gcc-c++ yum安装gcc
- make distclean 清空上次编译失败残留文件 ==注意:必须清空后在编译及安装,s否则会报如下错误==
- make && make install 执行编译及安装
- cd /usr/local
- mkdir redis
- cd /src/redis-5.0.5/src
- cp redis-cli redis-server /usr/local/redis
- cd ..
- cp redis.conf /usr/local/redis
- 修改redis.conf
daemonize no => daemonize yes 表示后台启动
1
- redis-server redis.conf
- ps -A | grep redis
如果mac 不能make就 执行 sudo xcode-select -switch /
# 知识点
- redis-benchmark 压力测试
- redis-check-aof 备份文件
- redis-check-rdb
- npm install 没有权限的时候 npm install --unsafe-perm=true --allow-root;