Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作

前言

  • 系统使用Ubuntu20.4
  • 华为云

安装nginx(如果需要NginxWebUI,就不这样子安装)

#安装
apt install nginx


#查看版本
nginx -v

安装docker和docker-compose

安装docker

  • 官方的一键安装方式:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#查看版本
docker -v
#Docker version 23.0.1, build a5ee5b1
  • 国内 daocloud一键安装命令:
    • 官网都打不开了,不知道为啥,所以估计这个命名过不了多久就没有用
#安装
curl -sSL https://get.daocloud.io/docker | sh

#查看版本
docker -v
#Docker version 23.0.1, build a5ee5b1
  • 设置docker镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://49qfdqkg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

#查看配置是否生效
docker info

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第1张图片

安装docker-compose

  • 官网安装介绍
    • https://docs.docker.com/compose/install/other/
#直接下载(国外ip)
curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose


#使用代理加速下载(国内ip)
curl -SL  https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose


#查看版本
docker-compose -v
# Docker Compose version v2.16.0

#如果出现docker-compose -v Docker Compose version v2.16.0
#执行下面命令即可
chmod +x /usr/local/bin/docker-compose

#接着查看版本,可以正常查看
docker-compose -v
# Docker Compose version v2.16.0

安装NginxWebUI(Nginx可视化工具)

  • docker运行
#安装java运行环境
apt install openjdk-8-jdk

#启动容器
#端口可以自己更改
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=9764" --privileged=true --net=host  --restart=always cym1102/nginxwebui:latest 
  • 访问
    • http://localhost:9764/adminPage/login

安装nodejs(使用NVM管理)

  • 使用nvm,这样子可以帮助我们管理nodejs版本
    • 官网: https://github.com/nvm-sh/nvm
#国外IP
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

#国内IP
curl -o- https://ghproxy.com/https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第2张图片

  • 安装完成后,如果输入nvm回车后提示command not found,则关闭当前终端,打开一个新终端,然后再次尝试验证
#查看nvm版本
nvm -v
#0.39.3
  • 安装nvm后安装nodejs
#安装指定版本
nvm install 16.19.1

#安装最新版
nvm install node # "node" is an alias for the latest version

#查看安装了哪些版本
nvm ls
  • 更换淘宝镜像源地址
#设置地址
npm config set registry https://registry.npm.taobao.org/

#查看镜像源的地址
npm config get registry npm

安装自己常用docker

学习强国

拉取镜像(也可以直接去部署)
2023年3月26日14.33.45 更换新方法
  • docker-compose 部署
version: "3.5"
services:
  xuexi-auto:
    image: xlh001/study_xxqg:latest
    # 容器名
    container_name: xuexi-auto
    environment:
    # 时区
      - TZ=Asia/Shanghai
    # 配置文件路径
    volumes:
      - ./config:/opt/config
    # 映射端口
    ports:
      - 1234:8080
    restart: unless-stopped
2023年3月24日14.32.45下面这种失效了
  • x86 处理器镜像
docker pull registry.cn-hangzhou.aliyuncs.com/wxyhgk/xxgq:2.0
  • arm处理器镜像
docker pull registry.cn-hangzhou.aliyuncs.com/wxyhgk/xxqg_arm:1.0
部署
  • x86 处理器
    • -p 1234:8080表示内部8080端口映射到外部(服务器)1234端口
docker run \
--name study_xxqg \
-d \
-p 1234:8080 \
-v /etc/study_xxqg/:/opt/config/ \
--restart unless-stopped \
registry.cn-hangzhou.aliyuncs.com/wxyhgk/xxgq:2.0
  • arm处理器
docker run \
--name study_xxqg \
-d \
-p 1234:8080 \
-v /etc/study_xxqg/:/opt/config/ \
--restart unless-stopped \
registry.cn-hangzhou.aliyuncs.com/wxyhgk/xxqg_arm:1.0
  • 含义
—name 表示名字 ,名字是 study_xxqg
-d 表示后台运行
-p 1234:8080 表示将 容器内部的 8080 端口映射到主机的 1234 端口
-v /etc/study_xxqg/:/opt/config/ 表示将 本机的 /etc/study_xxqg/ 映射到 docker 镜像的 /opt/config/ 下
registry.cn-hangzhou.aliyuncs.com/wxyhgk/xxgq:1.0 表示拉取这个镜像
--restart unless-stopped \ 表示重启docker后会启动此容器
完成和其他配置
  • 完成后登录浏览器输入服务器IP地址:1234即可
    • 默认账号密码为admin,admin
  • 其他配置请看此博主写的
    • https://wxyhgk.com/article/docker-xxqg

安装青龙(docker-compose方式)

  • 创建docker-compose.yml文件
version: '2'
services:
  ql_web:
    image: whyour/qinglong:latest
    container_name: ql
    volumes:
      - ./data/config:/ql/config
      - ./data/log:/ql/log
      - ./data/db:/ql/db
      - ./data/scripts:/ql/scripts
      - ./data/repo:/ql/repo
    ports:
      - "0.0.0.0:5700:5700"
    environment:
      - ENABLE_HANGUP=true
      - ENABLE_WEB_PANEL=true
    restart: always
  • 所在目录下执行
docker-compose up -d 
  • 记得服务器防火墙开放端口5700
  • 浏览器访问服务器地址:5700
安装好后安装下依赖(懂得都懂)
  • 来源@青龙面板全依赖一键安装脚本
    • https://github.com/FlechazoPh/QLDependency
  • 注意,里面的qinglong要根据自己镜像名称来,上面我通过docker-compose安装指定的名称为ql,所以我改为了ql
#国内版
docker exec -it ql bash -c "$(curl -fsSL https://ghproxy.com/https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/QLOneKeyDependency.sh | sh)"

#国外版:
docker exec -it ql bash -c "$(curl -fsSL https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/QLOneKeyDependency.sh | sh)"

#【更新】 版本号 2.12+ 的新版本青龙安装失败请尝试:
docker exec -it ql bash -c "$(curl -fsSL https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/XinQLOneKey.sh | sh)"

  • 或者自己安装下
npm install -g png-js date-fns axios crypto-js ts-md5 tslib @types/node requests tough-cookie jsdom download tunnel fs ws form-data js-base64 qrcode-terminal silly-datetime

安装qbittorrent

  • @来源
    • https://hub.docker.com/r/linuxserver/qbittorrent
  • 创建docker-compose.yml文件
version: "2.1"
services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - WEBUI_PORT=8080
    volumes:
      - /path/to/appdata/config:/config
      - /path/to/downloads:/downloads
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped
  • 所在目录下执行
docker-compose up -d 
  • 记得服务器防火墙放行80806881

  • 浏览器访问服务器地址:8080

安装alist

  • 使用docker-compose安装
version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:latest'

或者

version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - './data:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:latest'
  • 所在目录下执行
docker-compose up -d 
  • 记得服务器防火墙放行5244

  • 浏览器访问服务器地址:5244

  • 获取alist默认密码命令

docker exec -it alist ./alist admin

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第3张图片

安装subconverter

  • github地址

    • https://github.com/tindy2013/subconverter
  • 可以搭配sub-web使用

    • https://github.com/CareyWang/sub-web
  • 这里以安装subconverter为例

  • docker安装

docker run -d --restart=always -p 25500:25500 tindy2013/subconverter:latest
  • docker-compose安装
version: '3.3'
services:
    subconverter:
        restart: always
        volumes:
            - './data:/opt/subconverter/data'
        ports:
            - '25500:25500'
        container_name: subconverter
        image: 'tindy2013/subconverter:latest'
        

安装短链接Yourls

  • docker-compose方式
version: "3.5"
services:

  mysql:
    image: mysql:5.7.22              # 如果遇到不正确的数据库配置,或无法连接到数据库PDOException: SQLSTATE[HY000] [1045] 用户'yourls'@'yourls_service.yourls_default'的访问被拒绝(使用密码:是)   可以把5.7.22 改为 5.7
    environment:
      - MYSQL_ROOT_PASSWORD=my-secret-pw
      - MYSQL_DATABASE=yourls
      - MYSQL_USER=yourls
      - MYSQL_PASSWORD=yourls
    volumes:
      - ./mysql/db/:/var/lib/mysql
      - ./mysql/conf/:/etc/mysql/conf.d
    restart: always
    container_name: mysql
  
  yourls:
    image: yourls
    restart: always
    ports:
      - "8200:80"
    environment:
      YOURLS_DB_HOST: mysql
      YOURLS_DB_USER: yourls
      YOURLS_DB_PASS: yourls
      YOURLS_DB_NAME: yourls
      YOURLS_USER: admin      # 自己起一个名字
      YOURLS_PASS: admin      # 自己换一个登陆密码
      YOURLS_SITE: https://gao.ee  # 换成你自己的域名
      YOURLS_HOURS_OFFSET: 8
    volumes:
      - ./yourls_data/:/var/www/html   
    container_name: yourls_service
    links:
      - mysql:mysql

  • 防火墙开启端口8200和3306端口

  • 访问网站即可

    • https://gao.ee/admin

安装shlink

  • docker-compose部署
version: '3.8'

services:
    shlink:
      image: shlinkio/shlink:stable
      container_name: shlink
      ports:
        - '127.0.0.1:8200:8080'
      environment:
        - DEFAULT_DOMAIN=omgl.xyz
        - IS_HTTPS_ENABLED=true
        - GEOLITE_LICENSE_KEY=GEOLITE_LICENSE_KEY 需要在 Maxmind 注册帐号获取
        - DB_DRIVER=maria
        - DB_NAME=shlink
        - DB_USER=shlink
        - DB_PASSWORD=随机密码1
        - DB_HOST=db
        - DB_PORT=3306
        - TIMEZONE=UTC
        - REDIRECT_STATUS_CODE=301
      restart: always

    db:
      image: mariadb:10.6
      depends_on:
        - shlink
      container_name: db
      ports:
        - '127.0.0.1:3306:3306'
      environment:
        - MYSQL_ROOT_PASSWORD=随机 root 密码
        - MYSQL_DATABASE=shlink
        - MYSQL_USER=shlink
        - MYSQL_PASSWORD=随机密码1
      volumes:
        - /opt/shlink/data:/var/lib/mysql
      restart: always

    shlink-web-client:
        image: shlinkio/shlink-web-client:stable
        container_name: shlink-web-client
        ports:
          - '127.0.0.1:9765:80'
        restart: always
  • 然后获取一个 API Key:
docker exec -it shlink shlink api-key:generate

  • 配置Nginx,步骤略,具体看参考文章
    • 如果需要预设server,可以为shlink-web-client:添加下方变量
    • 参考:https://shlink.io/documentation/shlink-web-client/pre-configuring-servers/
通过环境变量为默认服务器提供配置。当容器启动时,它将servers.json基于它们动态构建文件。(自 shlink-web-client 3.2.0 起)。
SHLINK_SERVER_URL:Shlink 服务器的完全限定 URL。
SHLINK_SERVER_API_KEY:API 密钥。
SHLINK_SERVER_NAME:要显示的名称。如果未提供,则默认为Shlink。	
docker run \
  --name shlink-web-client \
  -p 8000:80 \
  -e SHLINK_SERVER_URL=https://s.test \
  -e SHLINK_SERVER_API_KEY=6aeb82c6-e275-4538-a747-31f9abfba63c \
  shlinkio/shlink-web-client
  • 如果是docker-compose配置添加默认环境的话也可以,但是莫名其妙没有成功,这里就使用下面的配置,结合config文件来配置了
version: '3.8'

services:
    shlink:
      image: shlinkio/shlink:stable
      container_name: shlink
      ports:
        - '127.0.0.1:8200:8080'
      environment:
        - DEFAULT_DOMAIN=omgl.xyz
        - IS_HTTPS_ENABLED=true
        - GEOLITE_LICENSE_KEY=GEOLITE_LICENSE_KEY 需要在 Maxmind 注册帐号获取
        - DB_DRIVER=maria
        - DB_NAME=shlink
        - DB_USER=shlink
        - DB_PASSWORD=随机密码1
        - DB_HOST=db
        - DB_PORT=3306
        - TIMEZONE=UTC
        - REDIRECT_STATUS_CODE=301
      restart: always

    db:
      image: mariadb:10.6
      depends_on:
        - shlink
      container_name: db
      ports:
        - '127.0.0.1:3306:3306'
      environment:
        - MYSQL_ROOT_PASSWORD=随机 root 密码
        - MYSQL_DATABASE=shlink
        - MYSQL_USER=shlink
        - MYSQL_PASSWORD=随机密码1
      volumes:
        - /opt/shlink/data:/var/lib/mysql
      restart: always

    shlink-web-client:
        image: shlinkio/shlink-web-client:stable
        container_name: shlink-web-client
        volumes:
          - ./config/:/usr/share/nginx/html/conf.d/
        ports:
          - '127.0.0.1:9765:80'
        restart: always
  • 在docker-compose.yml下的文件夹config建立servers.json文件,内容格式如下
[
  {
    "name": "服务器名称",
    "url": "https://xxxxx.xxxxxxxxxx",
    "apiKey": "执行获取的api"
  }
]

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第4张图片

  • 成功添加默认服务器

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第5张图片

  • 参考网站
    • https://u.sb/docker-shlink/
    • 官方API:https://shlink.io/documentation/

安装screen

安装

apt-install screen

使用

screen -ls 				# 浏览当前有哪些后台作业 类似ls命令,列举出所有对话作业。
screen -S <作业名称>  	# 新建一个screen作业的名称。
screen -r <作业名称>  	# 恢复之前的一个screen作业。
screen -d <作业名称>		# 挂起该作业
screen -S <作业名称> -X quit	# 删除该作业

#关闭退出
exit
#不关闭退出窗口(这样子就可以一直在后台执行) 快捷键
CTRL+A+D

安装短链接

AboutAn open-source link shortener with built-in analytics + free custom domains.

地址:https://github.com/steven-tey/dub

使用root用户在AWS

#设置password密码
sudo passwd root

#切换root
su root

#编辑
vim /root/.ssh/authorized_keys 修改内容,删除ssh-rsa以前的内容,保存退出。
这样fianalshell就可以使用root直接登录了。

设置虚拟内存

#国外IP
wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh

#国内IP
wget -O box.sh https://ghproxy.com/https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第6张图片

  • 选择1.添加SWAP

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第7张图片

  • 输入数字,单位为MB

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第8张图片

Ubuntu系统安装基本Nginx和docker和一些其他的软件的基本操作_第9张图片

短链接的一个介绍博客

  • https://blog.csdn.net/wbsu2004/article/details/128929147

Just-Moh-it/Pckd: The most ⚡️ analytics-intensive self-hostable URL shortener, with an amazing UI
地址:https://github.com/Just-Moh-it/Pckd

Hello from Pckd - Docs | Pckd - Docs
地址:https://docs.pckd.me/

Prebuilt Docker image · Issue #32 · PckdHQ/Pckd
地址:https://github.com/PckdHQ/Pckd/issues/32

Pckd - The most ⚡️ analytics-intensive self-hostable URL shortener, with an amazing UI : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/srn4wo/pckd_the_most_analyticsintensive_selfhostable_url/

参考文章

  • Linux安装Docker完整教程
  • Docker 搭建自动学习强国
  • https://docs.docker.com/compose/
  • https://docs.docker.com/get-started/

你可能感兴趣的:(docker,nginx,linux)