美文网首页
服务器环境部署

服务器环境部署

作者: 倔强的满腔热血 | 来源:发表于2020-08-28 01:28 被阅读0次

    docker相关

    docker安装

    • 使用官方安装脚本自动安装
    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    
    • 设置使用国内镜像源
    1. 修改或新增 /etc/docker/daemon.json
    vim /etc/docker/daemon.json
    
    1. 添加内容(添加三个源 阿里云,网易, Docker 官方中国区)
    {
        "registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com", "http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]
    
    }
    
    1. 重启docker
    systemctl restart docker.service
    
    docker安装mysql

    参考地址 https://www.runoob.com/docker/docker-install-mysql.html

    1. 查看仓库MySQL版本
    docker search mysql
    
    1. 安装对应版本(不指定默认最新版)
    docker pull mysql
    
    1. 查看镜像
    docker images
    
    image.png
    1. 启动容器
    docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=YAFD.2020 mysql
    

    参数说明:

    -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
    MYSQL_ROOT_PASSWORD=YAFD.2020:设置 MySQL 服务 root 用户的密码。

    1. 查看是否启动成功
    docker ps
    
    1. node连接报错

    https://www.cnblogs.com/yy-cola/p/11226924.html

     { Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by
     server; consider upgrading MySQL client
    

    原因8.0mysql引入了caching_sha2_password模块作为默认身份验证插件,nodejs还没有跟进

    • 解决方法:
    #  进入容器
    docker exec -it mysql bash  
    # 登录mysql
    mysql -u root -p
    # 授权
    GRANT ALL ON *.* TO 'root'@'%';
    # 刷新权限
    flush privileges;
    # 更新加密规则:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    # 更新root用户密码:
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    # 刷新
    flush privileges;
    

    docker安装redis

    参考地址 https://www.runoob.com/docker/docker-install-redis.html
    redis主从和哨兵模式 https://www.cnblogs.com/tomkluas/p/12682489.html

    docker pull redis   // 拉取最新镜像
    docker images     // 查看镜像
    docker run -itd --name redis -p 6379:6379 redis   // 运行redis
    docker ps          // 查看容器运行信息
    docker exec -it redis /bin/bash  //通过 redis-cli 连接测试使用 redis 服务。
    

    docker安装mongodb

    https://www.runoob.com/docker/docker-install-mongodb.html
    https://www.jianshu.com/p/2181b2e27021
    studiot 3T下载地址:https://studio3t.com/download/

    docker pull mongo
    docker run -d -p 27017:27017 -v mongo_configdb:/data/configdb -v mongo_db:/data/db --name mongo docker.io/mongo --auth
    $ docker exec -it mongo mongo admin
    # 创建一个名为 admin,密码为 123456 的用户。
    >  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
    # 尝试使用上面创建的用户信息进行连接。
    > db.auth('admin', '123456')
    
    

    docker安装nginx

    https://www.runoob.com/docker/docker-install-nginx.html
    https://www.cnblogs.com/yjlch1016/archive/2019/11/24/11923695.html
    https://blog.csdn.net/weixin_40461281/article/details/92586378

    # 拉取Nginx官方镜像
    docker pull nginx
    
    #先让容器在后台运行,并取个别名为nginx,此时还没有修改配置文件
    docker run --name nginx -d nginx
    # 将nginx关键目录映射到本机
    mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
    
    www: nginx存储网站网页的目录
    
    logs: nginx日志目录
    
    conf: nginx配置文件目录
    
    # 查看nginx-test容器id
    docker ps -a
    
    #查看容器内部的配置文件
    docker exec nginx ls /etc/nginx
    
    #复制容器内部的配置文件到宿主机,不用事先创建/root/nginx目录
    docker cp -a nginx:/etc/nginx/ /root/nginx
    
    #进入/root目录
    cd
    
    #给/root/nginx目录赋予最高权限
    chmod -R 777 nginx
    
    #删除nginx容器,-f参数是强制删除运行中的容器
    docker rm -f nginx
    
    #重新运行容器,并挂载配置文件,映射端口
    #这样下次就可以直接修改宿主机的配置文件,然后docker restart nginx重启容器
    docker run -p 80:80 --restart always --name nginx -v /root/nginx/:/etc/nginx/ -d nginx
    docker run -d -p 80:80 --name nginx -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log  -v /root/nginx/:/etc/nginx/ -d nginx
    
    docker run -d -p 80:80 -p 443:443 --name nginx -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx:/etc/nginx -v /root/nginx/logs:/var/log/nginx -v /root/nginx/ssl:/etc/nginx/ssl nginx
    
    
    #开放宿主机防火墙的80端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --reload
    
    #访问
    浏览器输入主机ip
    

    docker 安装Jenkins

    # 拉取镜像
    docker pull jenkins/jenkins   // 第一个官方镜像安装插件有可能会报错    
    # 启动镜像
    
    #查看容器内部的配置文件
    docker exec jenkins ls /var/jenkins_home/
    
    #复制容器内部的配置文件到宿主机,不用事先创建/root/nginx目录
    docker cp -a jenkins:/var/jenkins_home/ /root/jenkins
    
    #给/root/nginx目录赋予最高权限
    chmod -R 777 jenkins
    
    #删除容器,-f参数是强制删除运行中的容器
    docker rm -f jenkins
    
    #重新运行容器,并挂载配置文件,映射端口
    #这样下次就可以直接修改宿主机的配置文件,然后docker restart jenkins重启容器
    docker run -itd -p 8080:8080 -p 50000:50000  --restart always --name jenkins --privileged=true  -v /root/jenkins:/var/jenkins_home/ jenkins/jenkins                  
    
    Jenkins部署node项目
    • git拉取源码失败 : 使用用户名密码方式认证的时候URL地址要用https方式而不是ssh。


      image.png
    • yarn安装
    npm install -g yarn
    

    linux 安装nvm,通过nvm安装node

    https://github.com/cnpm/nvm

    wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
    source ~/.bashrc
    
    nvm list   // 查看当前版本
    nvm  // 查看所有命令
     nvm ls-remote  // 查看所有可安装版本
    nvm install version  // 安装对应的版本
    
    

    版本管理工具

    相关文章

      网友评论

          本文标题:服务器环境部署

          本文链接:https://www.haomeiwen.com/subject/ptspjktx.html