阿里云服务器Docker安装和配置nginx服务(一)
我真没想到我会被搞半天,真的是很简单的操作。这个还是和本地安装一个虚拟机再部署的话还是有点区别的。主要的是什么,几个命令,和你需要注意的几个地方。都是十分细节的问题。有时候你真的需要自己亲自动手做一遍,才会知道什么叫做眼高手低。今天不会先写docker的原理介绍了,简单记录这个过程。首先打开你的服务器,我的是阿里云轻量级服务器。我们访问的时候需要从公网这里去访问。我用了一个FinalShell进行
我真没想到我会被搞半天,真的是很简单的操作。这个还是和本地安装一个虚拟机再部署的话还是有点区别的。
主要的是什么,几个命令,和你需要注意的几个地方。都是十分细节的问题。有时候你真的需要自己亲自动手做一遍,才会知道什么叫做眼高手低。今天不会先写docker的原理介绍了,简单记录这个过程。
首先打开你的服务器,我的是阿里云轻量级服务器。
我们访问的时候需要从公网这里去访问。
我用了一个FinalShell进行连接,一次创建好连接信息以后就直接点开就行。
自己安装过旧版本的docker最好卸载掉。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
这些命令还记个,直接复制cv大法。
你要确保你的机器上有完整的yum命令,不过一般都是有的,万一某些人是在虚拟机上用的系统呢?
阿里云的服务器一般是可以用的。
没有yum的话,就11安装上。
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
你要设置一个镜像源,这样加快以后下载相关东西的速度。
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后我们安装docker,就用这一行,如果你是初学者的话。
yum install -y docker-ce
这些我都做过了,所以没有截图。
现在验证的话可以看下docker的版本,输入这个命令。
docker -v
看视频老师说docker启动的话,会用到各种端口,所以要关闭防火墙,如果你是在云服务器上的话就不要这样做了。关闭端口的话在自己虚拟机可还行。
这个根据自己选择(不要关闭云服务防火墙)
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
然后启动docker
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
然后安装nginx
我还是首先确认自己的镜像,只有一个redis
然后安装
其实你可以去docker hub官网看看,期间需要一个注册登录。
docker hub
查询点进去
后面这个数字指定了版本,如果你不指定,默认安装最新。
docker pull nginx:1.17.8
安装完成后你去看镜像确认一下
然后我们就启动这个nginx,需要配置端口相关。
docker run --name nginxtest01 -p 9092:80 -d nginx:1.17.8
-p后面我们也叫断后映射。你需要知道就是将来我们通过公网ip地址加上这个端口9092可以对nginx默认页面进行一个访问。
有一个疑问,为什么配置对内配置为80?因为nginx默认的端口监听是80。当然你可以改。
Nginx 的实现原理是:用 Nginx 监听 80 端口,当有 HTTP 请求到来时,将 HTTP 请求的 HOST 等信息与其配置文件进行匹配并转发给对应的应用。
docker容器在启动时的一种模式为HOST。在这种模式下。该容器的网络ip和端口都是与宿主机保持一致。
我们设置了9092 端口后,你需要去防火墙开放这个端口。不然外界是无法访问的。
怎么开放呢?我开始是这样尝试的。用命令。
firewall-cmd --zone=public --add-port=9092/tcp --permanent //开放端口
firewall-cmd --reload //网关重启
当然在这之前你可以看你的服务器网关开放了哪些端口
netstat -ntlp //查看当前所有tcp端口
你这里配置网关开放端口不行的话,你可以去云服务器的控制台界面指定开放。
我当时又做了这一步就可以了。
访问路径,主机外网ip加上端口号。
我的默认端口做了个人博客部署80端口这样用了。
好多人nginx部署这里连接不通,其实这里还有很多坑,仔细一点就好。
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:
腾讯云入驻
更多推荐
所有评论(0)