你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Nginx在windows和Linux系统下的搭建过程

[复制链接]
gaosmile 发布时间:2020-9-25 22:18
【一、前言】
本文章主要讲解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版本分支
微信图片_20200925221618.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、文件目录如下所示:
微信图片_20200925221621.png
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(一直停留不变则说明开启成功)  
微信图片_20200925221625.png

2、 然后我们打开网址:
  • http://localhost:80
微信图片_20200925221628.png

3、这样就是成功 如果失败了看下面。使用Windows + R启动命令行,拥有最高权限,输入命令:
  • netstart -ano | findstr 80 #找到占用的pid号。

4、然后将其kill掉,命令如下:
  • taskkill /F /pid
微信图片_20200925221631.png
5、之后在使用最开始的方法启动即可。

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

1、Linux环境下使用最高权限执行(不考虑用户权限)。
2、首先先安装被依赖的插件,命令如下:
  • yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
微信图片_20200925221635.png

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

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

微信图片_20200925221638.png
微信图片_20200925221642.png

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

  1. cd /nginxInStallPath
  2. ./Nginx
  3. #没有任何信息则是运行成功了。Linux的没有任何消息就是最好的消息
  4. curl http://localhost
复制代码

微信图片_20200925221645.png

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

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


【六、Nginx.conf配置】

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

  1. # 下面是进行Nginx.conf配置
  2. cd conf
  3. vim Nginx.conf
复制代码

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

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

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

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

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

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

  28.        error_page 500 502 503 504 /50x.html
  29.        location = /50.html { #访问路径为50x.html 无论是500, 502, 503, 504, 505这些页面
  30.             root html;
  31.          }
  32.         # location ~\.php$ {
  33.         #   proxy_pass http://127.0.0.1;
  34.         # }
  35.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  36.         #
  37.         #location ~ \.php$ {
  38.         #    root           html;
  39.         #    fastcgi_pass   127.0.0.1:9000;
  40.         #    fastcgi_index  index.php;
  41.         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
  42.         #    include        fastcgi_params;
  43.         #}

  44.        #location ~/\.ht {
  45.        #    deny all;拒绝所有用户访问
  46.       # }
  47.     }
  48. # 底下是配置https,https是现在还在比较流行的一种安全web服务器的基本要求
  49.     https {
  50.     }
  51. }
复制代码

【七、总结】

1、Nginx是现代互联网企业中不可缺少的一门技术,在微服务中也极为重要,尤其反向代理所带来的抗风险能力极为重要,热部署能力。
2、本文主要讲述了Nginx在windows和Linux系统下的搭建过程,希望对搭建的学习有帮助。

收藏 评论0 发布时间:2020-9-25 22:18

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版