平时不怎么管理 SQL 数据库,一般就只知道 phpMyAdmin,服务商一般也只提供 phpMyAdmin。
现在在自己维护的服务器中安装一个 phpMyAdmin,真是吓到我了:.zip 下载下来有十几MB,解压完有 3000+ 个文件。然后我还不会配置,上网查教程搞了十分钟才连上。
后来找到了 Adminer,只有一个文件,传上去 1 分钟就能连上数据库。真是太适合只用来看一下数据库、稍微改点东西的用户了。推荐。
平时不怎么管理 SQL 数据库,一般就只知道 phpMyAdmin,服务商一般也只提供 phpMyAdmin。
现在在自己维护的服务器中安装一个 phpMyAdmin,真是吓到我了:.zip 下载下来有十几MB,解压完有 3000+ 个文件。然后我还不会配置,上网查教程搞了十分钟才连上。
后来找到了 Adminer,只有一个文件,传上去 1 分钟就能连上数据库。真是太适合只用来看一下数据库、稍微改点东西的用户了。推荐。
Docker 火了这么多年,我也要学习体验一下。就在阿里云的服务器上部署一个 Nginx+MariaDB+PHP 环境吧。
不同系统的安装方法见官方文档,包括了 Linux 的几个发行版和 Windows、MacOS 的详细步骤。我在 Linux 系统上安装。装完记得运行systemctl enable docker
把 docker 调成自动启动。
Docker 的各种 images 会发布在 Docker Hub,要善用这个网站来搜索想要的资源。
在创建 docker 容器(container)之前,先考虑一下网络的架构。我打算创建 3 个容器:nginx、mariadb、php,其中,需要暴露的端口只有 nginx 容器的 80 (443) 端口。根据这篇文档中的:
User-defined bridge networks are best when you need multiple containers to communicate on the same Docker host.
我应该选择 bridge 网络,bridge 的具体的使用见此文档。在宿主机上运行
docker network create --driver bridge my_bridge
创建一个名称为 my_bridge 的bridge。
先把 Nginx image 拉下来:docker pull nginx
,默认会拉 latest 这个 tag (tags 可以在 Docker Hub 先搜索 nginx 然后点进去找到)。
接下来创建容器:
docker run --name my_nginx --network my_bridge -p 80:80 -v /var/www/php_env:/usr/share/nginx/html -e TZ="Asia/Shanghai" -d --restart always nginx
参数解释:(详情见文档)
--name my_nginx 容器命名为my_nginx --network my_bridge 连接到my_bridge网络 -p 80:80 把容器的80端口(后)暴露为宿主机的80端口(前) -v /var/www/php_env:/usr/share/nginx/html 把宿主机的目录(前)mount到容器的指定路径 -e TZ="Asia/Shanghai" 设置环境变量 -d 在后台运行 --restart always 自动启动、重启 nginx image名称
如无意外,浏览器可以访问http://服务器IP
的网页了。