git bash
而非git cmd
ssh root@47.104.75.43
adduser zhufeng
gpasswd
命令是Linux下工作组文件/etc/group
和/etc/gshadow
管理工具。
-a
: 添加用户到组-d
: 从组删除用户gpasswd -a zhufeng sudo
visudo
,如果你用visudo
来编辑这个文件,那么它会帮你自动做很多事情,比如说语法检查,加锁防止别人同时修改这个文件等等sudo visudo
vi /etc/sudoers
visudo其实是打开/etc/sudoers
增加以下内容
# User privilege specification
zhufeng ALL=(ALL:ALL) ALL
zhufeng
这个用户可以从任何机器登录,以任何用户和用户组的身份运行任何命令。 保存并退出
ssh 公钥认证是ssh认证的方式之一。通过公钥认证可实现ssh免密码登陆,git的ssh方式也是通过公钥进行认证的。
ssh-keygen --help
cd ~/.ssh
ssh-keygen -t rsa -b 4096
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
ssh-keygen -t rsa -b 4096
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
service ssh restart
apt-get update
apt-get install wget curl git -y
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
. /root/.bashrc
nvm install stable
node -v
npm i cnpm -g
npm i nrm -g
var http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
强大的进程管理器,进程异常退出时pm2会尝试重启
cnpm install pm2 -g
用pm2启动node |命令|用途| |:----|:----| |pm2 start blog.js --name "blog"|启动应用| |pm2 list|查看所有应用| |pm2 restart crawl|重启应用| |pm2 stop crawl|停止应用| |pm2 delete crawl|删除应用|
pm2 start blog.js --name "blog"
Nginx
是一个高性能的HTTP
和反向代理服务器apt-get install nginx -y
名称 | 命令 | ||||||
---|---|---|---|---|---|---|---|
启动nginx | nginx -c /etc/nginx/nginx.conf | ||||||
关闭 nginx | nginx -s stop | ||||||
重读配置文件 | nginx -s reload / kill -HUP nginx | ||||||
常用命令 | service nginx {start | stop | status | restart | reload | configtest | } |
cd /etc/nginx/sites-enabled
vi blog.conf
upstream blog{
server 127.0.0.1:3000;
}
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://blog;
}
}
nginx -s reload
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
$ docker version
$ docker info
docker info
yum remove docker
rm -rf /var/lib/docker
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://fwvjnv59.mirror.aliyuncs.com"]
}
EOF
# 重载所有修改过的配置文件
systemctl daemon-reload
systemctl restart docker
启动服务
docker run ubuntu /bin/echo "Hello world"
/bin/echo "Hello world"
: 在启动的容器里执行的命令FROM node
COPY ./app /app
WORKDIR /app
RUN npm install
EXPOSE 3000
docker build -t zhufengblog .
docker container run -p 3333:3000 -it zhufengblog /bin/bash
npm start
3000
端口映射为本机的3333
端口Dockerfile
+ CMD npm start
重新制作镜像
docker build -t zhufengblog .
docker container run
命令就不能附加命令了(比如前面的/bin/bash),否则它会覆盖CMD命令