Nginx的学习(一)之nginx的安装和入门

nginx官网下载:

nginx: download

Linux安装

#上传代码之后进行解压
tar zxvf nginx-1.21.6.tar.gz
#查看
ls
#进入nginx
cd nginx-1.21.6
#查看
ls
#编译安装
./configure --prefix=/usr/local/nginx
#编译
make &&  make install
#环境安装gcc
yum install -y gcc pcre pcre-devel zlib zlib-devel

启动Nginx

进入安装好的目录/usr/local/nginx/sbin

./nginx 启动
./nginx  -s stop 快速停止
./nginx -s quit 优雅关闭
./nginx  -s reload 重新加载配置

关于防火墙

关闭防火墙
systemctl stop filewalld.service

#禁止防火墙开机自启动
systemctl disable   filewalld.service

#放行端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

#重启防火墙
firewall-cmd --reload

安装成系统服务

创建服务脚本

vi /usr/lib/systemd/system/nginx.service

服务脚本内容

[Unit]
Description=nginx - web service
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExceStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

系统命令

#重新加载系统服务
systemctl daemon-reload

#设置开机自启动
systemctl enable nginx

#启动nginx服务
systemctl start nginx.service

#重新启动服务
systemctl restart nginx.service

#查看服务当前状态
systemctl status nginx.service

#停止开机自启动
systemctl disable nginx.service

Docker 安装 Nginx 容器

Docker官方镜像

Docker Hub

寻找Nginx镜像 


 

下载Nginx镜像

命令    描述
docker pull nginx 下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest )
docker pull nginx:xxx  下载指定版本的Nginx镜像 (xxx指具体版本号)


 检查当前所有Docker下载的镜像

docker images

 创建Nginx配置文件 

    启动前需要先创建Nginx外部挂载的配置文件( /home/nginx/conf/nginx.conf)
之所以要先创建 , 是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件
当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的结果 。

# 创建挂载目录

mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html

容器中的nginx.conf文件和conf.d文件夹复制到宿主机

# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/


 创建Nginx容器并运行

Docker 创建Nginx容器

# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx

启动命令 

docker run \
-p 9002:80 \
--name nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest
命令描述
–name nginx启动容器的名字
-d后台运行
-p 9002:80 将容器的 9002(后面那个) 端口映射到主机的 80(前面那个) 端口
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf配置文件
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d   挂载nginx配置文件
-v /home/nginx/log:/var/log/nginx    挂载nginx日志文件
-v /home/nginx/html:/usr/share/nginx/html挂载nginx内容
nginx:latest    本地运行的版本
\   shell 命令换

单行模式

docker run -p 9002:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest

结果检测

修改内容进行展示

# 重启容器
docker restart nginx

Nginx的学习编辑默认页

进入nginx下的修改index.html

/usr/local/nginx/html

Nginx配置与应用场景

    worker_processes
    worker_processes  1;默认为1,表示开启一个业务进程


    worker_connections
    worker_connections  1024;单个业务进程可接受连接数


    include
    include       mime.types;引入http mine类型

    default_type
    default_type  application/octet-stream;如果mine类型没有匹配上默认使用二进制流的方式传输

  
    sendfile
    sendfile        on;使用Linux的sendfile(socket,file,len)高校传输,也是数据0拷贝未开启sendfile

  
    keepalive_timeout  65;

  #虚拟主机 vhost
    server {
        listen       80;
        server_name  localhost; #域名

     
#http://域名/index.xml
        location / {
            root   html;
            index  index.html index.htm;
        }

     #http://域名/50.xml
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

      
    }


}
















































































 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值