博客
关于我
Nginx安装学习使用详细记录
阅读量:535 次
发布时间:2019-03-09

本文共 2882 字,大约阅读时间需要 9 分钟。

前言

Nginx 是一个高性能且功能强大的 Web 和反向代理服务器,因其高效处理大并发连接而广泛应用于生产环境。它支持 epoll 和 kqueue 模型,可以在 Unix 突出版以及 Windows 上运行。作为开发者和站长,选择 Nginx 作为反向代理或 HTTP 服务器是明智的决策。下文将详细介绍 Nginx 的安装、配置以及常用功能。


1.1 安装 Nginx

安装 Nginx 的过程相对简单,但需仔细配置以满足实际需求。以下是常用的安装步骤:

  • 解压源码:

    tar -xvf nginx-1.4.2.tar.gz  cd nginx-1.4.2
  • 配置参数:

    根据实际需要设置 Nginx 的运行 prefix 和模块:

    ./configure --prefix=/usr/nginx --with-http-stub-status-module --with-debug --with-http-realip-module --with-https ssl

    (注:替换为实际服务器地址和需求模块)

  • 编译并安装:

    make install

    安装完成后,创建相关对 logarithm 和 HTML 文件夹:

    test -d /usr/nginx/logs || mkdir -p /usr/nginx/logs  test -d /usr/nginx/html || cp -R html /usr/nginx

  • 1.2 查看 Nginx 进程

    在实际应用中,Nginx 通常会开启多个 worker 进程,以应对高负载需求。默认情况下建议设置 4 个进程,具体数量可根据服务器资源调整。查看进程数可以使用以下命令:

    ps -eaf | grep nginx

    上述命令会显示所有 Nginx 进程,包括主进程和 worker 进程。


    2 导航至其他部分

    2.1 Nginx 反向代理实践

    在实际应用中,Nginx 可作为反向代理将请求转发到后端服务器(如 PHP、Tomcat 等)。以下是一些常见配置示例:

  • 定向所有请求到后端服务器:

    location / {     proxy_pass http://tomcat:8080/;  }
  • 作为静态资源服务器:

    location /static/ {     root /www/static/;  }
  • 2.2 Rewrite 重定义

    Nginx 的 Rewrite 功能非常强大,适用于 URL 重定义和重定向。以下是一些常用的 Rewrite 示例:

  • 简单的重定向:

    location = /login {     rewrite ^/ http://login.example.com redirect;  }
  • 复杂的路径重写:

    location ~ /article-preview {     rewrite ^/category/(.*) /article.html те Appeal_=$1;  }
  • 最佳实践:将常用路径直接定向,避免复杂正则表达式。

  • 2.3 Rewrite 语法

    • last:上层规则不匹配时,继续处理下一个匹配规则。
    • break:当前规则匹配后,停止处理。
    • redirect:返回临时 302 重定向。
    • permanent:返回永久 301 重定向。

    2.4 防盗链

    防盗链是保护静态资源的一种重要措施。以下是一些常见配置:

  • 禁止外部链接:

    location ~* \.(gif|jpg|png|js|css) {     valid_referers none blocked start.igrow.cn sta.igrow.cn;     if ($invalid_referer) {        rewrite ^/ http://$host/logo.png;     }  }
  • 设置访问 zaexpire 时间:

    location ~* \.(js|css|jpg|jpeg|gif|swf) {     if (-f $request_filename) {        expires 1h;        break;     }  }

  • 2.5 生成 SSL 证书

    以下是一些步骤,帮助你配置 SSL 证书:

  • 生成私钥:

    openssl genrsa -des3 -out server.key 2048
  • 创建 CSR 文件并签名:

    openssl req -new -key server.key -out server.csr

    (输入相关信息,如公司名称、服务器名等)。

  • 签发服务器证书:

    使用证书颁发机构的私钥签名 CSR 文件,生成 server.crt。

  • 配置 Nginx:

    在配置文件中添加 SSL 模块,并绑定证书:

    listen 443 ssl;  server_name yourdomain.com;  ssl_certificate /path/to/server.crt;  ssl_private_key /path/to/server.key;

  • 3 启动服务

    安装完成后,可以通过以下方式启动 Nginx:

    .service nginx start

    如果需要重启服务,使用:

    .service nginx restart

    4ласти 生成证书

    如果你需要为 Nginx 生成新的证书,可以按照以下步骤操作:

  • 首先生成服务器端私钥:

    openssl genrsa -des3 -out server.key 2048

    (输入 passphrase)。

  • 生成 CSR 文件:

    openssl req -new -key server.key -out server.csr
  • 用 CA 的私钥签名 server.csr,生成 server.crt:

    openssl ca -in server.csr -out server.crt -keyfile ca.key
  • 注意:如果你要自签名证书,可以使用 openssl req -x509 -nodes -keyout ca.key -out ca.crt


    5 静态文件地址映射

    Nginx 的静态文件服务是其主要优势之一。以下是常见配置示例:

  • 将用户Web 用户中心页面映射:

    location = /userWeb/userCenter/findConsultList.htm {     rewrite ^.*$ http://xx.gongsilong.com/xx/userCenter/findConsultList.htm redirect;  }
  • SVN 证书访问:

    location ~* /svn/(.*) {     rewrite ^.*$ https://192.123.11.12/$1 redirect;  }

  • 以上内容提供了 Nginx 的基本安装、配置和使用指南。通过合理配置 Nginx,你可以显著提升网站性能,同时保护服务器资源。

    转载地址:http://ljcsz.baihongyu.com/

    你可能感兴趣的文章
    Mongodb默认日志的清理!
    查看>>
    MySQL服务器性能(通过Sysbench测试cpu、io、内存以及mysql服务等)
    查看>>
    用实力给自己正名,YOLOv5:道路损伤检测我最强!GRDDC'2020大赛报告
    查看>>
    [MySQL 工具]percona-toolkit使用(1)源码安装
    查看>>
    MySQL Workbench用csv格式导出数据乱码
    查看>>
    YolactEdge:首个开源边缘设备上的实时实例分割(Jetson AGX Xavier: 30 FPS)
    查看>>
    MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL
    查看>>
    源码编译安装MySQL5.6.12详细过程
    查看>>
    Nginx安装学习使用详细记录
    查看>>
    推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
    查看>>
    Sqlite -- 数据迁移备份--从低版本3.6.2到高版本3.8.6
    查看>>
    刚刚!频域通道注意力网络FcaNet开源了!
    查看>>
    百度视觉技术部人脸检测方向招聘实习生~北京
    查看>>
    「深度学习知识体系总结(2021版)」开放下载了!
    查看>>
    亚马逊招聘实习生,ML、CV、机器人和语音处理领域
    查看>>
    Python 使用pymongo操作mongodb库
    查看>>
    ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED
    查看>>
    c++继承与派生习题答案
    查看>>
    PROTEUS编译C51程序报L121错误的解决方法
    查看>>
    虚拟机Centos6开机黑屏解决方法
    查看>>