热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第二章Nginx服务器的安装部署【上】

概述:正式开干,每天学一点本章涉及内容获取Nginx服务器安装文件的路径nginx服务器安装部署之前的准备工作Windows平台下nignx服务器的安

概述:正式开干,每天学一点

本章涉及内容


  • 获取Nginx服务器安装文件的路径
  • nginx服务器安装部署之前的准备工作
  • Windows平台下nignx服务器的安装部署
  • Linux平台下Nignx服务器的编译和安装
  • 认识Nginx服务器的配置文件,以及如何进行基本配置
  • 初步学习通过优化Nginx配置,提高Nginx服务器的性能
  • 展示一个Nginx配置的完整实例

2.1、如何获取Nginx服务器安装文件


2.1.1、获取新版的Nginx服务器

地址:http://nginx.org/en/download.html

2.1.2、获取Nginx服务器的历史版本

网址:http://nginx.org/download

2.2、安装nginx服务器和基本配置


2.2.1 window版本的安装

参考:http://blog.csdn.net/m0_37355951/article/details/78282124

2.2.2、Linux版本的编译和安装:准备工作

需要依赖工具和第三方库进行编译,采用GCC编译器, GCC的全称为GNU Compiler Collection

Automake工具:完成Makefile的工作(个人理解就是各种配置信息汇总)

第三库,pcre库(支持rewrite模块),zlib库(支持gzip模块)和openssl库(支持ssl模块)

在线安装:

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

这里采用是阿里云centos服务进行安装


2.2.3、linux版本的编译和安装:nginx软件的自动脚本

将下载好nginx-1.13.6 .tar.gz文件上传到阿里云服务器,笔者采用是MobaXterm工具,有兴趣可以去官网下载

放置的目录在/home/下

创建一个编译目录()

# mkdir /home/Nginx_123/

# cp /home/nginx-1.13.6.tar.gz /home/Nginx_123/  将文件复制到这个目录下

# cd /home/Nginx_123      切换到该目录下

# tar xf nginx-1.13.6.tar.gz  解压文件


查看文件结构


这是需要通过configure脚本生成Makefile文件

configure脚本支持很多选项

--prefix=   指定Nginx软件的安装路径,此项如果未定默认为/usr/local/nginx/目录

其它可以参考文档

生成makeFile文件

 # ./configure --prefix=/home/Nginx_123/nginx




在当前目录下生成一个Makefile文件


2.2.4、linux版本的编译和安装:Nginx源代码的编译和安装

保持当前目录下   /home/Nginx_123/nginx-1.13.6

#make                                //编译

编译完成后

#make install                    //安装


安装完成后,切换到安装目录 /home/Nginx_123/nginx

# cd ../nginx


如果安装有问题话,一般是缺少第三方依赖库,可以安装第三方库之后进行安装nginx

清除上一次安装记录

rm  -rf   /home/Nginx_123/nginx/*

然后切换到/home/Nginx_123/nginx-1.13.6/

#cd /home/Nginx_123/nginx-1.13.6/

# make clean      //清除

之后再进行

# make                   //编译

# make install        //安装

2.3、Nginx服务的启停控制

2.3.1、Nginx服务的信号控制

其实就是发送命令,它通过pid,也就是进程唯一标识符,默认情况下会在安装目录下的logs目录中生成文件名为nginx.pid文件,此文件保存主进程的pid

如何找到pid

一种查看nginx.pid文件, # cat /home/Nginx_123/nginx/logs/nginx.pid

第二种通过linux平台下查看进程工具ps   : # ps -ef |grep nginx

Nginx服务包含一个主进程(master process)和多个工作进程(worker process)

Nginx服务可接收的信号

TERM 或 INT    :快速停止Nginx服务

QUIT   : 平缓停止Nginx服务

HUP : 使用新的配置文件启动进程,之后平缓停止原有进程,也就是所谓的“平滑重启”

USR1 : 重新打开日志文件,常用于日志切割

USR2: 使用新版本的Nginx文件启动服务,之后平缓停止原有的Nginx进程,也就是所谓的“平滑升级”

WINCH  : 平缓停止工作线程, 用于Nginx服务器平滑升级

使用语法

kill SIGNAL PID    (SIGNAL是上面信号一种, PID 为nginx主进程pid)

kill SIGNAL`cat filepath`(filepath nginx.pid文件路径)

2.3.2、Nginx服务启动



  • -?,-h  显示该帮助信息
  • -v  : 打印版本号并退出
  • -V : 打印版本号和配置并退出
  • -t : 测试配置正确性并退出
  • -q : 测试配置时只显示错误
  • -s  : signal向主进程发送信号
  • -p : prefix 指定Nginx服务器路径前缀
  • -c : filename 指定Nginx配置文件路径
  • -g : directives 指定Nginx附加配置文件路径(全局的配置)

启动服务:(注意默认监听端口为80,确保80不被占用,要么修改配置文件监听端口号)

#./nginx


修改监听端口为8000

/home/Nginx_123/nginx/conf/nginx.conf  修改这个配置文件


:wq!  保存退出

#./nginx 启动没有日志输出说明启动成功


2.3.3 Nginx服务的停止

一种快速停止:stop,停所有工作

一种平缓停止:将当前工作做完,后停止

发送信号

#  ./sbin/nginx -s quit

kill TERM | INT | QUIT `cat pid文件路径`  : 注意是不是单引号 是就是mysql的对于名字冲突引起了符号` (键盘数字1前面按键~)

kill  TERM | INT | QUIT  PID

TERM 和INT信号用于快速停止,QUIT用于平缓停止

kill -9 | SIGKILL  PID  强制关闭服务(不得已才为之)

2.3.4、Nginx服务的重启

平缓重启,如果配置文件没有问题,启动新的Nginx服务,然后平缓关闭旧的服务进程,如果新的Nginx配置有问题,将显示错误,仍然使用旧的Nginx进程提供服务

kill -HUP `cat /home/Nginx_123/nginx/logs/nginx.pid`

2.3.5、Nginx服务器的升级

kill USR2 `cat  pid文件路径`   用于发送平滑升级信号

kill WINCH `cat pid文件路径`   用于发送平滑停止旧服务信号

下节继续。。。。


推荐阅读
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • 构建LNMP架构平台
    LNMP架构的组成:Linux、Nginx、MySQL、PHP关于NginxNginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgorsysoev开发,其特点是 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • CentOS 7配置SSH远程访问及控制
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
author-avatar
手机用户2702937271
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有