当前位置: 首页 > news >正文

Linux安装nginx保姆级教程

文章目录

  • 前言
  • 一、nginx安装(保姆级教程)
    • 1.安装nginx依赖
    • 2.安装wget
    • 3.创建nginx安装目录
    • 4.下载nginx
    • 5.查看下载好的nginx
    • 6.解压缩
    • 7.查看当前目录下的文件→进入nginx-1.8.0目录→查看当前目录下的文件
    • 8.安装nginx
    • 9.查看nginx安装目录并启动nginx
    • 10.网络请求测试nginx是否正常
  • 二、外部电脑访问nginx设置
    • 方法一:关闭防火墙
    • 方法二:添加防火墙端口(nginx默认端口:80,如果修改了nginx端口,添加端口的时候要注意对应)
  • 三、常用编译选项说明
  • 四、nginx相关操作命令
    • 1.查看nginx进程
    • 2.nginx启动、停止、重启命令、查看安装目录
    • 3.nginx.conf配置文件

前言

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

一、nginx安装(保姆级教程)

1.安装nginx依赖

yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.安装wget

yum -y install wget

在这里插入图片描述

3.创建nginx安装目录

  • /usr/local/目录下创建nginx文件夹

    mkdir /usr/local/nginx
    
  • 切换到/usr/local/nginx/目录

cd /usr/local/nginx/

4.下载nginx

wget https://nginx.org/download/nginx-1.8.0.tar.gz

在这里插入图片描述

5.查看下载好的nginx

在这里插入图片描述

6.解压缩

tar -xvf nginx-1.8.0.tar.gz

7.查看当前目录下的文件→进入nginx-1.8.0目录→查看当前目录下的文件

在这里插入图片描述

8.安装nginx

  • 配置nginx(考虑到后续安装ssl证书 添加两个模块)

    --with-http_stub_status_module:用来监控 Nginx 的当前状态

    --with-http_ssl_module:使用https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装

    ./configure --with-http_stub_status_module --with-http_ssl_module
    

    在这里插入图片描述

  • 编译

    make
    
  • 安装

    make install
    

    在这里插入图片描述

9.查看nginx安装目录并启动nginx

  • 查看nginx安装目录

    whereis nginx
    
  • 切换到 /usr/local/nginx/sbin目录

    cd /usr/local/nginx/sbin
    
  • 启动ngin

    ./nginx
    

在这里插入图片描述

10.网络请求测试nginx是否正常

curl http://localhost:80

在这里插入图片描述

二、外部电脑访问nginx设置

方法一:关闭防火墙

systemctl stop firewalld

在这里插入图片描述

在这里插入图片描述

方法二:添加防火墙端口(nginx默认端口:80,如果修改了nginx端口,添加端口的时候要注意对应)

  • 添加防火墙端口

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    

    在这里插入图片描述

  • 重新载入(使修改的操作生效)

    firewall-cmd --reload
    

    在这里插入图片描述
    在这里插入图片描述

三、常用编译选项说明

nginx大部分常用模块,编译时./configure –help以–without开头的都默认安装。

  • --prefix=PATH:指定nginx的安装目录。默认 /usr/local/nginx
  • --conf-path=PATH:设置nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf
  • --user=name:设置nginx工作进程的用户。安装完成后,可以随时在nginx.conf配置文件更改user指令。默认的用户名是nobody。–group=name类似
  • --with-pcre:设置PCRE库的源码路径,如果已通过yum方式安装,使用–with-pcre自动找到库文件。使用–with-pcre=PATH时,需要从PCRE网站下载pcre库的源码(版本4.4 – 8.30)并解压,剩下的就交给Nginx的./configure和make来完成。perl正则表达式使用在location指令和 ngx_http_rewrite_module模块中。
  • --with-zlib=PATH:指定 zlib(版本1.1.3 – 1.2.5)的源码解压目录。在默认就启用的网络传输压缩模块ngx_http_gzip_module时需要使用zlib 。
  • --with-http_ssl_module:使用https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装
  • --with-http_stub_status_module:用来监控 Nginx 的当前状态
  • --with-http_realip_module:通过这个模块允许我们改变客户端请求头中客户端IP地址值(例如X-Real-IP 或 X-Forwarded-For),意义在于能够使得后台服务器记录原始客户端的IP地址
  • --add-module=PATH:添加第三方外部模块,如nginx-sticky-module-ng或缓存模块。每次添加新的模块都要重新编译(Tengine可以在新加入module时无需重新编译)

四、nginx相关操作命令

1.查看nginx进程

  • 查看nginx进程是否启动

    ps -ef | grep nginx
    

    在这里插入图片描述

2.nginx启动、停止、重启命令、查看安装目录

  • 查看nginx安装目录

    whereis nginx
    
  • 进入nginx安装目录的sbin目录

    cd /usr/local/nginx/sbin/
    

    在这里插入图片描述

  • 启动nginx

    ./nginx
    
  • 关闭nginx

    ./nginx -s stop
    
  • 重启nginx

    ./nginx -s reload
    

3.nginx.conf配置文件

Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令。main部分设置的指令将影响其它所有部分的设置;server部分的指令主要用于指定虚拟主机域名、IP和端口;upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡;location部分用于匹配网页位置(比如,根目录"/“,”/images",等等)。他们之间的关系式:server继承main,location继承server;upstream既不会继承指令也不会被继承。它有自己的特殊指令,不需要在其他地方的应用。

相关文章:

  • 中国象棋AI在线对弈游戏源码
  • 如何快速学会互联网运营?2分钟教会你实战3步核心流程!
  • BOM系统:贯穿制造全程的管理利器
  • 【御控物联】JavaScript JSON结构转换(8):数组To数组——多层属性重组
  • Java线程池详细解释
  • 软考中级(网络工程师考核要点)第一章 计算机网络系统(信道特性应用)第六期(4B/5B编码、数字调制技术和脉冲编码调制)
  • 通俗易懂:MySQL中如何用SQL语句模拟栈或队列的操作?
  • 16进制的字符串转byte[]数组 以及将字节数组转换成十六进制的字符串
  • Linux实战笔记(六) SSH
  • 如何根据黄金行情进行交易操作?
  • 信息安全技术基础知识总结
  • java ssh 电影院购票管理系统eclipse开发mysql数据库MVC模式java编程网页设计
  • 互联网轻量级框架整合之JavaEE基础II
  • 设计模式学习笔记 - 设计模式与范式 -结构型:4.适配器模式
  • 力扣刷题Days30-238. 除自身以外数组的乘积(js)
  • 收藏网友的 源程序下载网
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • angular组件开发
  • Docker: 容器互访的三种方式
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript 一些 DOM 的知识点
  • java取消线程实例
  • js中的正则表达式入门
  • 安卓应用性能调试和优化经验分享
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 使用docker-compose进行多节点部署
  • 一起参Ember.js讨论、问答社区。
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 转载:[译] 内容加速黑科技趣谈
  • 阿里云移动端播放器高级功能介绍
  • 大数据全解:定义、价值及挑战
  • ​MySQL主从复制一致性检测
  • ​secrets --- 生成管理密码的安全随机数​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (03)光刻——半导体电路的绘制
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (ros//EnvironmentVariables)ros环境变量
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (办公)springboot配置aop处理请求.
  • (二)JAVA使用POI操作excel
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)计算机毕业设计大学生兼职系统
  • (汇总)os模块以及shutil模块对文件的操作
  • ****Linux下Mysql的安装和配置
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 中创建支持集合初始化器的类型
  • /bin/rm: 参数列表过长"的解决办法
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • [APIO2015]巴厘岛的雕塑