写在前面
作为web端开发er,几乎从未接触过后端及服务端相关知识。但有些场景下又需要将自己的一些东西从公网(域名)上展示出来,比如自己的可开源项目、博客、简历、demo等。有时候我们可以麻烦后台或者运维同事来帮我们搞一搞,但终究授之以鱼不如授之以渔,在同事的帮助下,我也成功的通过一条简单的途径实现了本地文件上传至服务器并从域名访问。本片博客记录下实现过程。本实现途径是在linux服务器中安装docker,然后启用docker-nginx代理实现的,希望对与我面对同样困境的小白有所帮助。第一次接触服务端知识,有错敬请指教,感谢!那么,开始吧~
0. 准备
云服务器——CentOS 7.x,低配置即可,如[1核 1GB 1Mbps]
域名——已备案
终端远程工具——如:xshell、FinalShell等
提示:以下命令行内容均在服务器中完成~自行通过终端远程工具连接自己的服务器
1. 安装docker
1.1 卸载旧版本
如已安装想重新安装,或者是旧版本,则执行。如已是新版,跳过本步。
1.2 使用官方脚本自动安装
以下两种方式任选其一
命令:
国内 daocloud 命令
1.3 启动docker
2. Docker 安装 Nginx
Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务 。docker内安装nginx,作为web服务器来提供我们所需要的的web服务。
2.1 docker查看nginx可用版本
2.2 安装最新的nginx镜像
2.3 查看本地镜像
运行命令查看是否安装成功:
如上,有nginx,成功。
3. 创建docker-nginx实例
[name]—— 容器名称
[-p 8080:80]—— 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口
[-d nginx]—— 设置容器在在后台一直运行
4. 运行容器
创建容器后默认是运行状态。可以通过 命令查看运行中的容器,通过 查看docker的所有容器。如,我创建的容器名为 ,可以在下面容器列表中查看到容器的运行状态及容器信息(id、name等)
如果容器未启动,则可以通过 来启动容器。
5. 测试访问
6. 上传文件到服务器
上传本地文件/文件夹(我们的web项目,静态资源)到自己的服务器任意位置。比如我在root下创建了文件夹zxm,通过工具直接将本地文件 拖入其中。
7. 拷贝文件到docker-nginx容器
首先,我们已经将需要的项目(资源)从本地上传到了服务器上;然后我们需要做的则是从服务器上的项目资源从目前所在的地方拷贝到docker-nginx容器内,那么我们就需要知道三个东西:
目标路径
项目所在路径
docker 拷贝命令
接下来,我们一步一步来。
7.1 查找docker-nginx容器目标文件路径
进入容器:
目录:
查找配置文件:
查看配置文件:
复制(记录)文件中 如:这个目录则是容器的目标目录,接下来则需将其他位置的资源通过docker命令拷贝到该文件目录下。
退出容器:
7.2 拷贝
先回到刚才本地上传文件至服务器步骤的文件所在服务器位置中
cd到该目录下
docker命令拷贝到容器中 例如,在我的服务器中,想要将 传入到容器中,则是:
7.3 完成,访问
8. nginx域名映射配置
以上内容我们完成了基本的服务器项目部署,也就是从公网可以访问自己的项目啦~但是我们不能一直使用公网来访问,不够安全,且不够优雅!那么我们怎么使用域名来访问自己的项目呢?接下来我们操作一下域名映射。
8.1 docker内安装vim工具
进入docker容器
docker内安装vim 依次执行以下命令:
8.2 配置 文件
cd到配置文件目录
编辑default.conf文件:
修改如下:将 的localhost改成自己的域名地址,如我的是 ,但我可能会设置二级域名等,将 改成 。则配置如下:
退出容器
8.3 重启docker-nginx容器
如:
9. 域名解析
前提:域名已备案
打开域名解析
添加记录(解析)
然后,打开浏览器,输入自己配置的域名,即可访问到docker-nginx容器中的项目啦~~
axios进阶之路——封装篇