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

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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版