nginx
是一款开源的、轻量级的Web服务器
、反向代理服务器
、电子邮件(IMAP/POP3)代理服务器
。
nginx
是由俄罗斯的程序设计师Igor Sysoev
所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。
nginx
的特点是占有内存少,并发能力强。nginx
的并发能力在同类型的网页服务器中表现较好。
nginx
官网:http://nginx.org
操作系统 | 包管理器 | 安装命令 |
---|---|---|
Windows | scoop | scoop install nginx |
Windows | Chocolatey | choco install -y nginx |
macOS | HomeBrew | 安装官方: 安装社区全能: brew tap denji/nginx |
GNU/Linux | HomeBrew | 安装官方: 安装社区全能: brew tap denji/nginx |
apt | sudo apt-get install -y nginx | |
CentOS | yum | sudo yum install -y nginx |
dnf | sudo dnf install -y nginx | |
openSUSE | zypper | sudo zypper install -y nginx |
Alphine Linux | apk | sudo apk add nginx |
yay | sudo yay -Syyu --noconfirm | |
Gentoo Linux | Portage | sudo emerge nginx |
Docker官方提供的nginx Docker
镜像:https://hub.docker.com/_/nginx
1、对于该镜像,在创建并运行容器之前,我们需要知道的是:
443
和80
端口nginx
的配置文件
存放目录是/etc/nginx/nginx.conf/
nginx
的静态文件
存放目录是/usr/share/nginx/html/
nginx
的日志文件
存放目录是/var/log/nginx/
2、在宿主机上创建存放配置文件
、静态文件
、日志文件
的目录:
mkdir -p ~/docker_volume/nginx/{conf,html,logs}
3、把您事先编写好的nginx.conf
配置文件复制到~/docker_volume/nginx/conf/
目录中:
cp ~/nginx.conf ~/docker_volume/nginx/conf/
注意:如果您是初学者,您可能会有疑问,我怎么事先准备我的配置文件呢? 实际上,真实的环境里,nginx
的使用者都有一份他们自己事先配置好的配置文件,那是他多年的经验积累, 经过实践的考验的。他们绝对不可能进入容器去临时修改这个配置文件。您如果是个新手,这里也可以不事先准备, 就使用默认的配置文件,但是下面的运行容器的时候就不能mount
您本地配置文件夹了。 您以后要修改配置文件就得进入容器去修改,这样虽然可以,但是不好。
4、把您事先编写好的50x.html
和index.html
放到~/docker_volume/nginx/html/
目录中:
echo "Hello nginx" >> ~/docker_volume/nginx/html/index.html
echo "server occur error" >> ~/docker_volume/nginx/html/50x.html
注意:我这里仅仅是一个示例,真实的场景比这个复杂,这些文件是精心设计的,而且也不止这些。
5、运行一个容器:
docker run -d
-p 8080:80
-p 8081:443
-v ~/docker_volume/nginx/conf:/etc/nginx/nginx.conf
-v ~/docker_volume/nginx/html:/usr/share/nginx/html
-v ~/docker_volume/nginx/logs/:/var/log/nginx
--name nginx
nginx:1.15.12-alpine
6、通过http://localhost:8080
进行访问。
注意:如果您仅仅想体验一下该容器,您可以用下面的方法运行一个容器:
docker run -d -p 8080:80 -p 8081:443 --name nginx nginx:1.15.12-alpine
如果您觉得Docker官方提供的nginx Docker
镜像或者Docker Hub上其他的nginx Docker
镜像不合你意, 您也可以通过编写Dockerfile构建一个自己的nginx Docker
镜像。
查看nginx
命令的使用帮助。
查看nginx
的版本。
查看nginx
的版本和安装时./configure
命令的参数。
测试nginx
的配置文件是否正确。
测试nginx
的配置文件是否正确,并打印配置。
给nginx
服务发送信号。
signal | 说明 |
reload | 在不重新启动nginx 服务的情况下重新加载配置文件 |
reopen | 重新启动nginx 服务 |
stop | 停止nginx 服务 |
quit | 停止nginx 服务 |
没有任何参数的时候,就是启动nginx
服务。