nginx 安装 (一)

nginx 安装 (一)

nginx组成部分

nginx 二进制执行文件
nginx.config配置文件
access.log访问日志
error.log 错误日志

nginx版本

免费版 ngin.org
商业版 nginx.com

编译命令帮助和参数介绍

./configure --help|more

主要分为三大类
第一类是制定需要哪些文件
如果想默认安装配置--prefix就可以了
--prefix=PATH
剩下的会自动安装
第二类制定是用哪些模块,不使用哪些模块
配置中带--with的默认不会自动安装,除非安装时打开这个配置
带 --without的默认会自动安装
第三类是制定编译中需要的特殊的参数

安装

默认安装,配置安装目录在home/default

./configure --prefix=/home/default

如果没报错,就说明成功了。
然后执行

make
make install

然后把nginx加入到变量中
然后进安装目录的sbin下执行nginx文件,访问ip或url就能看到了

./nginx

配置文件

有指令块和指令构成

server {
listen 443 ssl;
server_name localhost;

ssl_certificate cert.pem;
ssl_certificate_key cert.key;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root html;
index index.html index.htm;
}
}

每条指令以分号结束
指令块以{}组成,里面有多个指令或指令块
include允许指定多个配置文件
#号表示注释
使用$可以使用nginx的变量
有一些指令也支持正则表达式
时间包括 ms s m h d w M y
表示毫秒,秒,分钟,小时,天,周,月,年
单位包括默认,k/K ,m/M,g/G
表示 字节,千字节,兆,G,

命令

热重启(修改文件后重启nginx,尤其是nginx在线上并且在运行)

nginx -s reload

只用指定的配置文件用-c

nginx -c ./conf/nginx.conf

立即停止

nginx -s stop

优雅的停止

nginx -s quit

查看配置文件是否正确

nginx -t


nginx热部署升级

新版本在root下,老版本在/home/default 下
服务器已经安装了一个nginx了。并且在运行中。

先备份一下nginx的文件,防止升级失败
在/home/default/nginx 文件

cp nginx nginx.old

然后下载新的版本,并且和老版本 配置一样,然后执行make


然后把make后的新版的objs/nginx 复制到老版本的sbin/下面

如上图所示,当我们替换掉nginx二进制文件以后,我们使用kill -USR2使新的nginx上线,然后使用kill -WINCH命令杀掉原来的进程,查看版本号,就已经是1.16了
如果升级失败了,想回滚怎么办呢?

写在底部的知识

在./configure成功时,
然后查看当前目录多了一些中间件
进入objs有一个ngx_modules.c
这个是表示编译哪些模块
make之后同样多了一些编译文件