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

来源:互联网 发布:python 异步网络框架 编辑:程序博客网 时间:2024/06/06 08:33

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

本章涉及内容

  • 获取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=<path>   指定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文件路径`   用于发送平滑停止旧服务信号

下节继续。。。。

原创粉丝点击