文章目录
-
-
-
- Docker学习笔记合集(持续更新)
- 学习目录
-
- 1.Docker概述
-
- Docker为什么出现?
- 2.Docker的历史
-
- 聊聊Docker
- 3.Docker的作用
-
-
- 应用更快速的交付和部署
- 更便捷的升级和扩缩容
- 更简单的系统运维
- 更高效的计算资源利用
-
- 4.Docker的基本组成
-
-
- 镜像(image):
- 容器(container):
- 仓库(repository):
-
- 5.Dockers的安装
- 6.Docker的卸载
- 7.配置阿里云镜像加速
- 8. Docker容器运行流程
- 9. 底层原理
- 10. Docker的常用命令
-
- 10.1 基础命令
- 10.2 镜像命令
- 10.3 容器命令
- 10.4 其他常用命令
- 11. 常用容器部署
-
- 11.1 Nginx部署
- 11.2 Tomcat部署
- 11.3 ElasticSearch部署
- 12.Docker镜像详解
-
- 12.1 什么是镜像
- 12.2 Docker镜像加载原理
- 12.3 分层理解
- 12.4 提交镜像
-
Docker学习笔记合集(持续更新)
linux入门–服务器购买—宝塔部署环境说明
Nginx简单入门–学习笔记狂神说
Docker基础01–入门总结–(狂神说docker学习笔记)
Docker基础02–Docker容器数据卷详解–(狂神说docker学习笔记)
Docker基础03–Dockerfile详解与镜像发布–(狂神说docker学习笔记)
Docker基础04–Docker网络–(狂神说docker学习笔记)
Docker进阶01–Docker Compose–(狂神说docker学习笔记)
Docker知识点翻阅手册–Docker常用命令、Dockererfile、Compose、网络等整理合集学习目录
Docker实战:Mysql、Nginx、web的Docker化部署(安装、自定义镜像、compose管理容器、自定义网络、部署问题及解决)
Docker概述1.Docker概述 Docker为什么出现?
Docker安装
Docker命令–镜像命令 容器命令 操作命令
Docker镜像!
容器数据卷!
DockerFile
Docker网络原理
IDEA整合Docker
Docker Compose
Docker Swarm
CI\CD Jenkins
一款产品:开发–上线 两套环境!应用环境,应用配置!
开发 — 运维 问题:我在我的电脑上可以运行!版本更新,导致服务不可用!对于运维来说,考验就非常大!
环境配置是十分的麻烦,每一个机器都要部署环境(集群Redis、ES、Hadoop…)
发布一个项目(jar+(Redis、MySQL、jdk、ES))项目能不能都带上环境安装打包!
之前在服务器配置一个应用的环境 Redis、MySQL、jdk、ES、Hadoop,配置越麻烦了,不能够跨平台
windows,最后发布到linux!
传统:开发jar,运维来做
现在:开发打包部署上线,一套流程做完
java - apk --发布(应用商店 ) --张三使用apk --安装即可用!
java - jar(环境) —打包项目带上环境(镜像) --(Docker仓库:商店) —下载我们发布的镜像 --直接运行即可!
Docker给以上的问题,提出了解决方案!
文章图片
Docker的思想就来自于集装箱!
JRE — 多个应用(端口冲突)—原来都是交叉的!
隔离:Docker核心思想!打包装箱!每个箱子之间是互相隔离的。
水果、生化武器
Docker通过隔离机制,可以将服务器利用到机制!
本质:所有的技术都是因为出现了一些问题,我们需要去解决,才去学习!
2.Docker的历史 2010年,几个搞IT的年轻人,在美国成立了一家公司 dotCloud
做一些pass的云计算服务!LXC有关的容器技术!
他们将自己的技术(容器化技术)命名 就是 Docker!
Docker刚刚诞生的时候,没有引起行业的注意!
2013年开源–开发源代码!
2014年4月9日,Docker1.0发布!
Docker为什么这么火?十分的轻巧!
在容器技术出来之前,我们都是使用虚拟机技术!
虚拟机:在window中装一个Vmware,通过这个软件我们可以虚拟出来一台或多台电脑!笨重!
虚拟机也是属于虚拟化技术,Docker容器技术,也是一种虚拟化技术!
vm,linux centos原生镜像(一个电脑!) 隔离,需要开启多个虚拟机! 几个G几分钟
docker,隔离,镜像(最核心的环境 4m+ jdk +mysql)十分小巧,运行镜像即可! 几个M KB 秒级
到现在,所有开发人员都必须要回Docker!
聊聊Docker
Docker是基于Go语言开发的!开源项目!
文章图片
- 官网
- 官方文档Docker文档是超详细的
- 仓库地址
【运维|Docker基础01--入门总结--(狂神说docker学习笔记)】
文章图片
虚拟机技术缺点:
1.资源占用很多
2.冗余步骤多
3.启动很慢!
容器化技术
容器化技术不是模拟的一个完整的操作系统
文章图片
比较Docker和虚拟机技术的不同:
- 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
- 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以轻便了
- 每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响
应用更快速的交付和部署 传统:一堆帮助文档,安装程序
Docker:打包镜像、发布测试、一键运行
更便捷的升级和扩缩容 使用了Docker之后,我们部署应用就和搭积木一样!
(SpringBoot 1.5 Redis 5 tomcat8)打包成一个镜像,扩展 服务器A!服务器B
更简单的系统运维 在容器化之后,我们的开发,测试环境都是高度一致的。
更高效的计算资源利用 Docker是 内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致!
4.Docker的基本组成 Docker的基本组成图如下:
文章图片
说明:
镜像(image): docker镜像好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像===》run==》tomcat01容器(提供服务器)通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)
容器(container): Docker利用容器技术没独立运行一个或者一个组应用,通过镜像来创建的。
启动、停止、删除,基本命令
仓库(repository):
文章图片
5.Dockers的安装 查看系统的内核:
uname -r
系统内核版本为3.10.0
[root@zecan ~]# uname -r
3.10.0-1062.18.1.el7.x86_64
查看系统配置
cat /etc/os-release
[root@zecan ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;
31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Docker的安装步骤:
(1)卸载旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2)下载需要的安装包
yum install -y yum-utils
(3)设置镜像的仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo#国外的地址# 设置阿里云的Docker镜像仓库
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#阿里云的地址
(4)更新yum软件包索引
yum makecache fast
(5)安装docker相关的配置
docker-ce 是社区版,docker-ee 企业版
yum install docker-ce docker-ce-cli containerd.io
出现了completed即安装成功。
(6)启动Docker
systemctl start docker
# 查看当前版本号,是否启动成功
docker version
# 设置开机自启动
systemctl enable docker
结果:
文章图片
下载hello-world镜像进行测试
文章图片
查看下载的hello world镜像
[root@zecan ~]# docker images
REPOSITORYTAGIMAGE IDCREATEDSIZE
hello-worldlatestfeb5d9fea6a57 weeks ago13.3kB
6.Docker的卸载
# 1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2. 删除资源. /var/lib/docker是docker的默认工作路径
rm -rf /var/lib/docker
7.配置阿里云镜像加速 1)进入阿里云官网,搜索容器镜像服务
文章图片
(2)依次执行官方的这四条命令
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://axvfsf7e.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
8. Docker容器运行流程 启动一个容器,Docker的运行流程如下图:
文章图片
9. 底层原理 Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socker从客户端访问!Docker Server接收到Docker-Client的指令,就会执行这个指令!
文章图片
Docker为什么比VM Ware快?
1、Docker比虚拟机更少的抽象层
2、docker利用宿主机的内核,VM需要的是Guest OS
文章图片
Docker新建一个容器的时候,不需要像虚拟机一样重新加载一个操作系统内核,直接利用宿主机的操作系统,而虚拟机是需要加载Guest OS。Docker和VM的对比如下:
文章图片
注:现GuestOS已全部适用
[
](https://blog.csdn.net/huangjhai/article/details/118854733)
10. Docker的常用命令 10.1 基础命令
docker version# 显示dicker的版本信息
docker info# 显示docker的系统信息,包括镜像和容器的数量
docker 命令--help # 帮助命令
命令的帮助文档地址:https://docs.docker.com/engine/reference/commandline/docker/
10.2 镜像命令
1.docker images 查看本地主机的所有镜像
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker images
REPOSITORYTAGIMAGE IDCREATEDSIZE
hello-worldlatestbf756fb1ae6511 months ago13.3kB#解释:
1.REPOSITORY镜像的仓库源2.TAG镜像的标签3.IMAGE ID 镜像的id4.CREATED 镜像的创建时间5.SIZE 镜像的大小# 可选参数-a/--all 列出所有镜像-q/--quiet 只显示镜像的id
2.docker search 搜索镜像
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker search mysql
NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
mysqlMySQL is a widely used, open-source relation…10308[OK]
mariadbMariaDB is a community-developed fork of MyS…3819[OK]
mysql/mysql-serverOptimized MySQL Server Docker images. Create…754[OK]
perconaPercona Server is a fork of the MySQL relati…517[OK]
centos/mysql-57-centos7MySQL 5.7 SQL database server86
mysql/mysql-clusterExperimental MySQL Cluster Docker images. Cr…79
centurylink/mysqlImage containing mysql. Optimized to be link…60[OK]#可选参数Search the Docker Hub for imagesOptions:
-f, --filter filterFilter output based on conditions provided
--format stringPretty-print search using a Go template
--limit intMax number of search results (default 25)
--no-truncDon't truncate output#搜索收藏数大于3000的镜像
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker search mysql --filter=STARS=3000
NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
mysqlMySQL is a widely used, open-source relation…10308[OK]
mariadbMariaDB is a community-developed fordockerk of MyS…3819[OK]
3.docker pull 镜像名[:tag] 下载镜像
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker pull mysql
Using default tag: latest#如果不写tag默认就是latest
latest: Pulling from library/mysql
6ec7b7d162b2: Pull complete#分层下载,docker image的核心-联合文件系统
fedd960d3481: Pull complete
7ab947313861: Pull complete
64f92f19e638: Pull complete
3e80b17bff96: Pull complete
014e976799f9: Pull complete
59ae84fee1b3: Pull complete
ffe10de703ea: Pull complete
657af6d90c83: Pull complete
98bfb480322c: Pull complete
6aa3859c4789: Pull complete
1ed875d851ef: Pull complete
Digest: sha256:78800e6d3f1b230e35275145e657b82c3fb02a27b2d8e76aac2f5e90c1c30873 #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest#下载来源的真实地址#docker pull mysql等价于docker pull docker.io/library/mysql:latest
指定版本下载
[root@zecan ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
b380bbd43752: Already exists
f23cbf2ecc5d: Already exists
30cfc6c29c0a: Already exists
b38609286cbe: Already exists
8211d9e66cd6: Already exists
2313f9eeca4a: Already exists
7eb487d00da0: Already exists
a71aacf913e7: Pull complete
393153c555df: Pull complete
06628e2290d7: Pull complete
ff2ab8dac9ac: Pull complete
Digest: sha256:2db8bfd2656b51ded5d938abcded8d32ec6181a9eae8dfc7ddf87a656ef97e97
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
4.docker rmi 删除镜像
#1.删除指定的镜像id
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f镜像id
#2.删除多个镜像id
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f镜像id 镜像id 镜像id
#3.删除全部的镜像id
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f$(docker images -aq)
10.3 容器命令
说明:有了镜像才可以创建容器
docker pull centos
新建容器并启动
docker run [可选参数] image#参数说明
--name="名字"指定容器名字tomcat01 tomcat02,用来区分容器
-d后台方式运行
-it使用交互方式运行,进入容器查看内容
-p指定容器的端口 -p 8080:8080
(
-p ip:主机端口:容器端口配置主机端口映射到容器端口
-p 主机端口:容器端口
-p 容器端口
)
-P随机指定端口(大写的P)#测试,并启动
[root@zecan ~]# docker run -it centos /bin/bash
[root@b3ac7a30eb8a /]# ls#查看容器内地centos,基础版本,很多命令都是不完善的!
bindevetchomeliblib64lost+foundmediamntoptprocrootrunsbinsrvsystmpusrvar#从容器退回主机
[root@b3ac7a30eb8a /]# exit
exit
[root@zecan /]# ls
binbootdevetchomeliblib64lost+foundmediamntoptpatchprocrootrunsbinsrvsystmpusrvarwww
列出所有的运行的容器
# docker ps 命令
# 列出当前正在运行的容器
-a# 列出当前正在运行的容器+带出历史运行过的容器
-n=? # 显示最近创建的容器
-q # 只显示容器的编号[root@zecan /]# docker ps
CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
[root@zecan /]# docker ps -a
CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
b3ac7a30eb8acentos"/bin/bash"5 minutes agoExited (0) 4 minutes agooptimistic_heyrovsky
332d452d5337hello-world"/hello"31 minutes agoExited (0) 31 minutes agosleepy_mendel
72d42c07133bhello-world"/hello"15 hours agoExited (0) 15 hours agopensive_germain
[root@zecan /]#
删除容器
docker rm 容器id#删除指定的容器,不能删除正在运行的容器,强制删除使用 rm -f
docker rm -f $(docker ps -aq)#删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
启动和停止容器
docker start 容器id#启动容器
docker restart 容器id#重启容器
docker stop 容器id#停止当前运行的容器
docker kill 容器id#强制停止当前容器
10.4 其他常用命令
后台启动容器
#命令 docker run -d 镜像名!
[root@zecan /]# docker run -d centos#问题docker ps,发现centos停止了#常见的坑,docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
#nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
1.查看日志
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker logs --helpUsage:docker logs [OPTIONS] CONTAINERFetch the logs of a containerOptions:
--detailsShow extra details provided to logs
-f, --followFollow log output
--since stringShow logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
-n, --tail stringNumber of lines to show from the end of the logs (default "all")
-t, --timestampsShow timestamps
--until stringShow logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)常用:
docker logs -tf 容器id
docker logs --tail number 容器id #num为要显示的日志条数#docker容器后台运行,必须要有一个前台的进程,否则会自动停止
#编写shell脚本循环执行,使得centos容器保持运行状态
[root@zecan /]# docker run -d centos /bin/sh -c "while true;
do echo hi;
sleep 5;
done"
88947e8d3cf0fa5bdbd6e0577e77b74b8a53bf4dd6685bd00130829a8c7f2250
[root@zecan /]# docker ps
CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
88947e8d3cf0centos"/bin/sh -c 'while t…"40 seconds agoUp 39 secondsloving_tesla
[root@zecan /]# docker logs -tf --tail 10 88947e8d3cf0
2021-11-16T02:39:04.210788277Z hi
2021-11-16T02:39:09.212892789Z hi
2021-11-16T02:39:14.214927123Z hi
2021-11-16T02:39:19.217185096Z hi
2021-11-16T02:39:24.219168601Z hi
2021-11-16T02:39:29.221417267Z hi
2021-11-16T02:39:34.223160841Z hi
2021-11-16T02:39:39.225251841Z hi
2021-11-16T02:39:44.227213547Z hi
2021-11-16T02:39:49.229377746Z hi
2021-11-16T02:39:54.231320967Z hi
2.查看容器中进程信息
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker top c703b5b1911f
UIDPIDPPIDCSTIMETTYTIMECMD
root1115611135011:31?00:00:00/bin/sh -c while true;
do echo hi;
sleep 5;
done
root1188611156011:43?00:00:00/usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 5
3.查看容器的元数据
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker inspect 容器id
4.进入当前正在运行的容器
因为通常我们的容器都是使用后台方式来运行的,有时需要进入容器修改配置
方式一:
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker exec -it c703b5b1911f /bin/bash
[root@c703b5b1911f /]# ls
bindevetchomeliblib64lost+foundmediamntoptprocrootrunsbinsrvsystmpusrvar
[root@c703b5b1911f /]# ps -ef
UIDPIDPPIDC STIME TTYTIME CMD
root100 03:31 ?00:00:00 /bin/sh -c while true;
do echo hi;
sleep 5;
done
root27900 03:54 pts/000:00:00 /bin/bash
root31510 03:56 ?00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 5
root3162790 03:56 pts/000:00:00 ps -ef
方式二:
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker attach c703b5b1911f
docker exec 进入容器后开启一个新的终端,可以在里面操作
docker attach 进入容器正在执行的终端,不会启动新的进程
拷贝容器的文件到主机中
docker cp 容器id:容器内路径 目的主机路径
#启动容器
[root@zecan /]# docker run -it centos /bin/bash
[root@a84d4273434f /]#
[root@a84d4273434f /]# [root@zecan /]#
[root@zecan /]# docker ps
CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
a84d4273434fcentos"/bin/bash"2 minutes agoUp 2 minutesgreat_sammet#进入dockers容器内部
[root@zecan /]# docker attach a84d4273434f
[root@a84d4273434f /]# cd/home
[root@a84d4273434f home]# touch zecan.txt
[root@a84d4273434f home]# ls
zecan.txt
[root@a84d4273434f home]# exit
exit
[root@zecan /]# docker ps -a
CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
a84d4273434fcentos"/bin/bash"3 minutes agoExited (0) 12 seconds agogreat_sammet# 将文件拷贝出来到主机上
[root@zecan /]# docker cp a84d4273434f:/home/zecan.txt /home
[root@zecan /]# cd /home
[root@zecan home]# ls
rediswwwzecan.txt# 拷贝是一个手动过程,未来我们使用 -v 卷的技术,可以实现,自动同步
命令小节的图解如下:
文章图片
可以把常用命令放进来
11. 常用容器部署 11.1 Nginx部署
(1)搜索并下载镜像
[root@zecan home]# docker search nginx
NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
nginxOfficial build of Nginx.14207[OK]
jwilder/nginx-proxyAutomated Nginx reverse proxy for docker con…1932[OK]
richarvey/nginx-php-fpmContainer running Nginx + PHP-FPM capable of…797[OK]
linuxserver/nginxAn Nginx container, brought to you by LinuxS…137
jc21/nginx-proxy-managerDocker container for managing Nginx proxy ho…123
tiangolo/nginx-rtmpDocker image with Nginx using the nginx-rtmp…107[OK][root@zecan home]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
7d63c13d9b9b: Pull complete
15641ef07d80: Pull complete
392f7fc44052: Pull complete
8765c7b04ad8: Pull complete
8ddffa52b5c7: Pull complete
353f1054328a: Pull complete
Digest: sha256:dfef797ddddfc01645503cef9036369f03ae920cac82d344d58b637ee861fda1
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@zecan home]# docker images
REPOSITORYTAGIMAGE IDCREATEDSIZE
nginxlatest04661cdce5816 days ago141MB
mysqllatestecac195d15af4 weeks ago516MB
hello-worldlatestfeb5d9fea6a57 weeks ago13.3kB
centoslatest5d0da3dc97642 months ago231MB
可以到dockerhub官网查看Nginx的详细版本信息 :https://hub.docker.com/_/nginx
(2)运行测试
-d 后台运行
--name 给容器命名
-p 3344:80 将宿主机的端口3344映射到该容器的80端口 [root@zecan home]# docker run -d --name nginx01 -p 3344:80 nginx
b4ce6a638ddcf76ad1eb85fe9735a39174860e984bc4cea94beb0dd9ac614d47
[root@zecan home]# docker ps
CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
b4ce6a638ddcnginx"/docker-entrypoint.…"7 seconds agoUp 6 seconds0.0.0.0:3344->80/tcpnginx01
端口暴露的概念:
文章图片
外网\
思考问题:我们每次改动nginx配置文件,都需要进入容器内部?十分麻烦,要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改? - v 数据卷技术!
(3)配置文件
进入容器,自定义配置文件
[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker exec -it nginx01 /bin/bash
root@20c896637ff5:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@20c896637ff5:/# cd /etc/nginx
root@20c896637ff5:/etc/nginx# ls
conf.d fastcgi_params koi-utfkoi-winmime.typesmodulesnginx.confscgi_params uwsgi_paramswin-utf
root@20c896637ff5:/# cd /etc/nginx
root@20c896637ff5:/etc/nginx# ls
conf.d fastcgi_params koi-utfkoi-winmime.typesmodulesnginx.confscgi_params uwsgi_paramswin-utf
(4)访问测试
本地主机访问测试,curl命令发起请求,如果使用阿里云服务器需要设置安全组。
[root@zecan home]# curl localhost:3344
Welcome to nginx!
Welcome to nginx!If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
nginx.org.
Commercial support is available at
nginx.com.
Thank you for using nginx.