Nginx入门到弃坑---安装与使用篇(2)

1 下载

在这里插入图片描述

2 Windows安装

2.1 环境介绍

  • 下载完成后解压缩

    在这里插入图片描述

  • 目录如下
    在这里插入图片描述

  • 配置文件地址:.\nginx-1.23.2\conf\nginx.conf,默认配置的nginx监听的端口为80

2.2 确认端口是否被占用

  • 启动服务前先查看80端口是否被占用,如果占用则关闭对应进程或者修改nginx默认端口

    # cmd黑窗口输入如下命令查看端口占用情况(有显示则代表被占用了,无返回内容则未被占用)
    netstat -ano | findstr 0.0.0.0:80 
    

    在这里插入图片描述

  • 杀掉进程

    taskkill /pid 20112 -F
    

    在这里插入图片描述

2.3 启动nginx服务

.\nginx.exe

2.4 关闭nginx服务

  • 快速停止(不推荐使用:使用nginx -s stop时,会删除logs中的nginx.pid文件)

    .\nginx.exe -s stop  
    
  • 有序停止(推荐使用:使用nginx -s quit时,也会删除logs中的nginx.pid文件))

    .\nginx.exe -s quit
    
  • 使用taskkill关闭:(按需使用:不会删除logs中的nginx.pid文件)

    taskkill /f /t /im nginx.exe
    

    在这里插入图片描述

3 Linux安装

3.1 环境检查(历史是否安装)

  • 检测进程

    # 检索出带有nginx的进程
    ps -ef |grep nginx
    # 或者直接列出nginx相关的pid
    ps -C nginx -o pid
    
  • 停掉开机自启

    # 停掉自启
    chkconfig nginx off
    
  • 关掉nginx服务

    # 等待工作进程处理完成后关闭
    nginx -s quit
    
  • 确认是否还有nginx进程并杀掉

    # 查和nginx相关的进程
    ps -ef|grep nginx
    # 杀掉对应的进程
    kill -9 pid
    
  • 完全卸载(确认是否有相关依赖存留)

    yum remove -y nginx
    
  • 确认是否还有nginx相关文件残留

    # 方法1 whereis
    whereis nginx
    # 或者方法2 find
    find / -name nginx*
    # 删除目录及文件
    rm -rf */nginx
    

3.2 安装nginx所需依赖

# gcc是linux下的编译器,它可以编译 C,C++,Ada,Object C和Java等语言
# pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式
# zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip
# openssl是web安全通信的基石
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

3.3 安装

3.3.1 安装方式一YUM安装

yum -y install nginx
  • 安装完后路径如下:

    # 可执行程序文件
    /usr/sbin/nginx
    # 配置文件路径
    /etc/nginx/nginx.conf
    # 日志路径
    /var/log/nginx
    # 缓存路径
    /var/cache/nginx
    # PID目录
    /var/run/nginx.pid
    # 默认站点目录
    /usr/share/nginx/html
    
  • 启动nginx并设置开机自启

    # 查看nginx安装版本
    nginx -v
    # 启动nginx
    systemctl start nginx.service
    # 设置开机自启
    systemctl enable nginx.service
    # 关闭开机自动启动
    systemctl disable nginx 
    

3.3.2 安装方式二源码编译安装

  1. 下载tar.gz安装包,点击下载

    • 也可以用 wegetwgte https://nginx.org/download/nginx-1.23.2.tar.gz
  2. 上传至目标服务器指定地址/目录

  3. 解压缩

    tar xvf nginx-1.21.6.tar.gz
    
  4. 进入解压缩后的nginx目录

    cd ./nginx
    
  5. 修改配置

    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    
  6. 编译源码

    # 编译
    make
    # 安装
    make install
    
  7. 启动nginx

    ./nginx
    

4 Docker安装

# 下载最新镜像
docker pull nginx:latest
# 确认镜像
docker images
# 运行nginx容器
docker run --name nginx-test -p 8080:80 -d nginx

5 常用命令

  • 常用命令
# 重启Nginx
systemctl restart nginx

# 停止Nginx
systemctl stop nginx

# 重新加载Nginx
systemctl reload nginx

# 查看 Nginx 运行状态
systemctl status nginx




# Nginx 应用程序命令:
# 向主进程发送信号,重新加载配置文件,热重启
nginx -s reload
# 重启 Nginx
nginx -s reopen
# 快速关闭
nginx -s stop
# 等待工作进程处理完成后关闭
nginx -s quit
# 查看当前 Nginx 最终的配置
nginx -T
# 检查配置是否有问题
nginx -t

6 配置文件详解

# main段配置信息
user  nginx; # 运行用户,默认即是nginx,可以不进行设置
worker_processes  auto; # Nginx 进程数,一般设置为和 CPU 核数一样
error_log  /var/log/nginx/error.log warn; # Nginx 的错误日志存放目录
pid        /var/run/nginx.pid; # Nginx 服务启动时的 pid 存放位置

# events段配置信息
events {
    use epoll; # 使用epoll的I/O模型(如果你不知道Nginx该使用哪种轮询方法,会自动选择一个最适合你操作系统的)
    worker_connections 1024; # 每个进程允许最大并发数
}

# http段配置信息
# 配置使用最频繁的部分,代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里设置
http {
    # 设置日志模式
    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; # Nginx访问日志存放位置

    sendfile            on; # 开启高效传输模式
    tcp_nopush          on; # 减少网络报文段的数量
    tcp_nodelay         on;
    keepalive_timeout   65; # 保持连接的时间,也叫超时时间,单位秒
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types; # 文件扩展名与类型映射表
    default_type        application/octet-stream; # 默认文件类型

    include /etc/nginx/conf.d/*.conf; # 加载子配置项
    
    # server段配置信息
    server {
     listen       80; # 配置监听的端口
     server_name  localhost; # 配置的域名
      
     # location段配置信息
     location / {
      root   /usr/share/nginx/html; # 网站根目录
      index  index.html index.htm; # 默认首页文件
      deny 172.168.22.11; # 禁止访问的ip地址,可以为all
      allow 172.168.33.44;# 允许访问的ip地址,可以为all
     }
     
     error_page 500 502 503 504 /50x.html; # 默认50x对应的访问页面
     error_page 400 404 error.html; # 同上
    }
}

7 项目部署

猜你喜欢

转载自blog.csdn.net/qq_37768368/article/details/128277069