服务器环境搭建记录
💻

服务器环境搭建记录

Tags
Published
Author

预准备

我使用的是腾讯云的轻量服务器,在购买时就选择了预置docker,买好后首先重置登录密码,然后直接使用vscodeSSH Remote插件,来远程登录服务器

docker compose 安装

找到docker官网文档
 
因为我的是centos系统,所以使用以下命令安装
sudo yum install docker-compose-plugin
 

portainer安装

Docker Portainer 是一款容器管理工具,它是基于 webDocker 容器管理工具。使用 Portainer,用户可以轻松地管理和部署 Docker 容器和应用程序。
Portainer 提供了易于使用的用户界面,支持创建和管理 Docker 容器、镜像、网络和卷,它也支持对 Docker 群集进行管理,支持本地和远程 Docker 管理。不需要掌握 Docker 命令行,也可以轻松了解和使用 Docker 的各种基本功能。
 
docker run -d -p 8000:8000 -p 9000:9000 --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /root/docker_data/portainer/data:/data \ portainer/portainer-ce:latest
使用上面命令安装,同时因为我们暴露了9000端口,因此我们需要在服务器安全组放开该端口,让9000允许访问
notion image
然后访问服务器IP + 9000 端口即可
notion image
因为我是先运行命令启动服务再放开的9000端口,启动服务时会因为端口未开放而导致异常,打开上面地址访问时会报错,按照下面命令重启一下服务即可
sudo docker restart portainer

Nginx Proxy Manager 安装

Nginx Proxy Manager 是使用 NginxDocker 实现的一个代理服务器管理面板,可用于管理多个网站或应用程序的反向代理和 SSL/TLS 证书。通过 Nginx Proxy Manager,用户可以轻松地创建、配置、监控和管理代理服务器,从而实现更加安全、高效、可靠的应用程序部署
官网提供了以下命令供安装
version: '3.8' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # These ports are in format <host-port>:<container-port> - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port # Add any other Stream port you want to expose # - '21:21' # FTP # Uncomment the next line if you uncomment anything in the section # environment: # Uncomment this if you want to change the location of # the SQLite DB file within the container # DB_SQLITE_FILE: "/data/database.sqlite" # Uncomment this if IPv6 is not enabled on your host # DISABLE_IPV6: 'true' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt
但是我们也可以直接使用上面已创建的portainer面板来安装,将上面命令,转换成如下两张截图所示的参数配置
 
notion image
 
notion image
直接点击创建我们就可以看到已经有一个npmcontainer 服务在运行了
notion image
使用面板创建的容器想对比于命令创建,我们有一个美观的UI界面,可以轻松查看container信息、查看logs以及进入容器,如下图,非常方便,当然通过命令创建的可以结合vscodedocker插件使用
notion image
 

转发配置

上一步npm安装好后,我们就可以通过IP + 81端口访问了,注意同样需要在服务器安全组放开81端口访问权限,界面如下
notion image
上面我们访问portainer是通过ip + 9000端口,我们其实可以给这个应用分配个单独的二级域名来提供服务,我们可以新建如下配置
notion image
同时勾选上,强制ssl, 并选择自动生成证书
notion image
配置好后尝试使用域名访问 https://portainer.codefe.top/ 但是报错了,这时候我们可以通过portainer登录到容器内查看失败日志,如下
notion image
看原因是因为没查找到域名dns解析记录导致创建SSL证书失败, 因为上面配置了proxy detail还不够,还需要在腾讯云管理台再次配置DNS解析记录,如下图,配置好后即可通过域名正常访问
notion image