一篇文章教会你在Windows和Linux系统下搭建Nginx

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 一篇文章教会你在Windows和Linux系统下搭建Nginx

【一、前言】

本文章主要讲解Nginx的基础搭建(如果有不知道web服务器的可以百度,或者我再做一篇图解web)。

Nginx在互联网中作为一个不可或缺的组件,我们看到LNMP集成环境。LNMP(Linux+Nginx+Mysql+Php);如果只知道这个不知道Nginx的搭建过程的话我们有Nginx的主要特性会错过。比如Nginx的优点:

  • 高可用(一个组件可以服务上千人)

  • 热部署(可以做到不停机就能升级基础设施服务)

  • 反向代理(通常可以,上游反向代理,下游负载均衡处理外部请求)

【二、Nginx搭建】

1、首先先下载一个版本。

1)Nginx社区版

2)Nginx企业版 两者没有太大区别,都支持主要几大功能。

3)淘宝版本的Nginx对IO进行了优化,至今淘宝在使用的Tengine。

2、Nginx版本分支

image.png

3、版本如下:

1)MainLine Version(主线版本开发)

2)Stable(稳定版本)

3)Legacy Version(历史版本)-- 如果项目需要上到选定版本可以选这个

4、下载(我们以Nginx Stable Version为例子)。我们能看到Stable Version底下有三个栏目:

1)CHANGE-1.16 是介绍这个版本和上个版本的区别  

2)Nginx-1.16 pgp 这个是Linux版本下载选项,将会下载倒tar.gzNginx/Windows

3)1.16.1 这个是Windows系统下载的,将会下载window包

【三、Nginx文件目录(如下)】

1、文件目录如下所示:

2、文件内容解析如下:

1)conf(存放配置文件):Nginx.conf(主要的建站配置文件夹)

2)contrib(是一些Linux的Vim配置文件):作用是将整个vim文件移动到~/.vim/profile目录底下,就会在vim下有高亮表现

3)doc (documentation 文档目录):一些日志改变以及readme文档还有License授权

4)html(默认的html,网站的入口):

  • index.html 默认网页
  • 50x.html 常见的错误页面

5)logs(默认的日志文件夹)

6)temp(临时文件目录)

【四、Windows下搭建】

首先需要解决如何对下一页的网址进行请求的问题。可以点击下一页的按钮,观察到网站的变化分别如下所示:

1、Windows下我们直接点击Nginx根目录下的Nginx.exe即可立即使用了。闪退是正常现象,之后检查端口查看是否被占用,第一次启动推荐使用命令行启用 :

.\nginxpath\nginx.exe(一直停留不变则说明开启成功)  

2、 然后我们打开网址:

http://localhost:80

3、这样就是成功 如果失败了看下面。使用Windows + R启动命令行,拥有最高权限,输入命令:

netstart -ano | findstr 80 #找到占用的pid号。

4、然后将其kill掉,命令如下:

taskkill /F /pid

5、之后在使用最开始的方法启动即可。

【五、Linux环境下(Centos下)搭建】

1、Linux环境下使用最高权限执行(不考虑用户权限)。

2、首先先安装被依赖的插件,命令如下:

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

3、之后依次如此下列的命令,记得看注释噢~

tar -zxvf Nginx-1.16.1.tar.gz
cd Nginx-1.16.1
# 这下面几步骤是进行加载vim插件的,使其在修改conf的时候可以进行常亮
cd contrib
mv contrib ~/.vim
cd ..
# path自己需要安装的地方
./configure -prefix=/path/Nginx
# configure完成后即可,make && make install去
# configure 是进行配置化操作
# make 是进行编译操作
# make install 是进行编译后文件的部署行为
# 为了方便就将make && make install 一起进行

4、之后运行Nginx,命令如下:

cd /nginxInStallPath
./Nginx
#没有任何信息则是运行成功了。Linux的没有任何消息就是最好的消息
curl http://localhost

5、至此Nginx搭建完成。下列命令是一些常规的操作命令:

./Nginx -s reload #重新加载(Nginx能做到热部署的一个原因)
./Nginx -s stop #关闭服务器
./Nginx -t # 可以测试刚修改的Nginx.conf能否生效

【六、Nginx.conf配置】

1、下面是进行Nginx.conf配置,命令如下:

# 下面是进行Nginx.conf配置
cd conf
vim Nginx.conf

2、修改文件中的内容如下所示:

worker_processes number;
# error_log path #错误日志文件位置
# error_log path notice 提醒错误文件位置
# error_log path info 一些Logger::info的输出位置
events {
    work_connections 1024; #定义最大连接数量
}

# http 定义http的位置(高难度配置下章在讲解)
http {
    include mine.types; #定义包含类型,网页请求request_type的地方属性值设置地方在mine.types文件里卖你
    default_type:application/ocet-stream #设置属性流
    sendfile    on; #从一个 buffer到另一个 buffer的拷贝用于优化速度
    #tcp_nopush on;
    keepalive_timeout 60; #设置请求超时时间

    server {
        listen 80 # 设置监听的端口
        server_name localhost # 设置监听的域名
        charset koi8-r #设置字符集

        #access_log logs/host.access.log main #设置主访问日志存储

        location / { #设置正则表达式匹配localhost/底下的目录按照此位置进行处理,
                     #下篇文章配置php会用到
            root html; #设置网站根目录为html路径
            index index.html index.htm; #设置没有确定的资源文件下,会自动访问index.hmtl例如
                                        # 例如访问http://localhost会实际访问http://localhost/index.html
                                        # 或者 http://localhost/index.htm
           }
       error_page 404       /404.html #自定义错误页面代码下访问的页面

       error_page 500 502 503 504 /50x.html
       location = /50.html { #访问路径为50x.html 无论是500, 502, 503, 504, 505这些页面
            root html;
         }
        # location ~\.php$ {
        #   proxy_pass http://127.0.0.1;
        # }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

       #location ~/\.ht {
       #    deny all;拒绝所有用户访问
      # }
    }
# 底下是配置https,https是现在还在比较流行的一种安全web服务器的基本要求
    https {
    }
}

【七、总结】

1、Nginx是现代互联网企业中不可缺少的一门技术,在微服务中也极为重要,尤其反向代理所带来的抗风险能力极为重要,热部署能力。

2、本文主要讲述了Nginx在windows和Linux系统下的搭建过程,希望对搭建的学习有帮助。

想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
13天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
35 5
linux系统服务二!
|
13天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
35 3
linux系统服务!!!
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
23 6
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
机器学习/深度学习 自然语言处理 Linux
Linux 中的机器学习:Whisper——自动语音识别系统
本文介绍了先进的自动语音识别系统 Whisper 在 Linux 环境中的应用。Whisper 基于深度学习和神经网络技术,支持多语言识别,具有高准确性和实时处理能力。文章详细讲解了在 Linux 中安装、配置和使用 Whisper 的步骤,以及其在语音助手、语音识别软件等领域的应用场景。
32 5
|
7天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
25 3
|
7天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####