介绍一下nginx
Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。它由伊戈尔·赛索耶夫开发,最初是为俄罗斯访问量第二的 Rambler.ru 站点设计的。Nginx 以其稳定性、低资源消耗、简单配置和丰富的功能而闻名,能够在不间断服务的情况下对软件版本进行热更新,支持热部署,启动速度快,几乎可以做到 7x24 小时不间断运行。
Nginx 的特点包括:
- 高并发:能够支持高达 50,000 个并发连接响应数。
- 低内存占用:在处理大量请求时,占用内存较少。
- 模块化架构:具有良好的扩展性。
- 异步非阻塞的事件驱动模型:类似于 Node.js,适合处理底层服务器端资源。
- 高可靠性:即使在运行几个月也不需要重新启动服务器。
- 支持负载均衡:能够将请求分发到多个服务器上,提高网站的运行速度和响应能力。
Nginx 可以用于多种场景,包括:
- 静态资源服务:通过本地文件系统提供服务。
- 反向代理服务:延伸出包括缓存、负载均衡等。
- API 服务:例如使用 OpenResty 进行扩展。
Nginx 是一个开源软件,以类 BSD 许可证的形式发布,并且可以在多种 Unix-like 系统上编译运行,包括 Linux、Windows NT 系统和 OS X。最新版本为 1.24.0,而主线版本为 1.25.1。
正文开始
1、下载拉取Nginx 镜像(latest阔以不加默认)
docker pull nginx:latest
下面在拉取镜像
2、挂载目录:(必须使用绝对的目录/开头的地址)
docker run -d --name nginx -p 80:80 -v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d -v /mydata/nginx/html:/usr/share/nginx/html nginx
3、查看你的nginx有没有挂载成功
docker ps
4、然后在文件夹里面创建一个目录叫做 nginx.conf 把配置粘贴进去
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
5、在名为nginx的正在运行的Docker容器中启动一个交互式的bash shell
6、查看配置存在不存在
cd /etc/nginx/conf.cd/
7、查看配置里面的内容有没有错误
cat nginx.conf
8、退出
exit
9、进入粘贴配置
cd /mydata/nginx/conf/conf.d
然后 vim static-gmall.conf
10、查看一下配置
cat static-gmall.conf
11、启动nginx
12、再次查看是否启动
docker ps -a
13、没启动的话看一下日志(带大家排查错误知道怎么看日志找错误)
docker logs nginx
14、赋权进入nginx文件夹然后ll查看一下文件
15、给这俩赋值(下面是满权限)
chmod 777 ./**
16、进入
cd ./conf
在赋值 chmod 777 ./**
17、排查错误(没有赋权)
18、再次给权限(没有权限的话后面很多事情都有坑)等他变成绿色了之后就可以了
chmod 777 ./**
19、再次重启查看有没有
docker restart nginx
docker ps
看起来还是没有然后我百度了一下发现循环引用了