前言
本章基于Centos 7.x系统讲解
本章讲解下在项目上线部署的时候对NGINX的操作。有些童鞋在网上百度类似LNMP安装就跟着命令一条一条执行了,如果没报错还好,一旦报错就懵逼状态了。这是对自己、对代码的不负责任的表现。本章带大家”正经”的安装一次NGINX。
下载
下载NGINX的源码包切勿随意查找,好好的NGINX官网在那摆着,何必盲目搜寻呢?
源码包下载地址 : nginx.org/en/download…
- Mainline Version 主线版本,也是开发版本测试版本,跟自己没仇的最好别下载
- Stable version 稳定版本,一般下载就在稳定版本内找就可以了
- Legacy versions 以往的版本
实际对版本没有太多要求的,下载稳定版本的就可以,每个版本都分.gz的源码包和.exe的windows安装包,会下载游戏还不会下载个压缩包了吗?
很多人纠结安装包放哪比较好,现在告诉你
1 | bash复制代码/usr/src |
usr 历史上全称是user(用户目录),只不过现在不是这个意思了,。总之放这地死不了人。
1 | arduino复制代码wget http://nginx.org/download/nginx-1.14.0.tar.gz |
wget 比吃饭还简单的命令了解一下?
然后就开始下载了,下载懂不懂?没下载过游戏吗?
安装
下载完之后 /usr/src
目录下就有个 nginx-1.14.0.tar.gz 的压缩包,然后就是刷刷刷的命令,撸起袖子就是干
解压缩
tar 解压缩命令
参数 | 说明 |
---|---|
-z | 专门解压gzip压缩的,没看到压缩包最后是.gz嘛 |
-x | 解压 |
-v | 解压过程,就是解出来啥文件 |
-f | 指向文件,一定得放最后 |
1 | 复制代码tar -zxvf nginx-1.14.0.tar.gz |
随后就是咔咔咔的解压,然后出来一些看不懂的文件
1 | bash复制代码nginx-1.14.0/ |
这个时候你所在的 /usr/src
目录下就有了一个 nginx-1.14.0
文件夹
1 | 复制代码nginx-1.14.0 nginx-1.14.0.tar.gz |
./configure
目录有了现在就是安装了,不要百度不要谷歌,官网文档写的那么清楚干那多余的活有什么用。小学英语就能看懂。nginx.org/en/docs/con… , 滑动到最下面,官网给出了一个demo
1 | ini复制代码./configure |
对头就是这样安装,如果你不愿了解这些配置,完全就可以
1 | bash复制代码./configure |
对没错,啥都不用加,9个字母结束战斗,为什么不需要加参数?是因为nginx很多参数都有默认值。
参数 | 默认 | 注释 |
---|---|---|
–prefix=path | /usr/local/nginx | nginx安装路径 |
–sbin-path=path | prefix/sbin/nginx | nginx命令路径 |
–modules-path=path | prefix/modules | nginx模块路径 |
–conf-path=path | prefix/conf/nginx.conf | nginx配置文件路径 |
–error-log-path=path | prefix/logs/error.log | nginx默认日志目录 |
执行./configure
1 | rust复制代码checking for OS |
configure是个检查工具,上面的直接结果很清楚了,各种的checking,检测下环境支持不?依赖都装了吗?检测成功后你才可以进入下一步,否则你进入下一步也依旧会提示xxx不存在,xxx不支持等等
1 | go复制代码make && make install |
make是一个编译工具,你就记住是个编译工具就行了,编译的过程输出
1 | css复制代码cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ |
最后他copy了一些必须文件到指定目录里,这个时候nginx的安装就基本完成了。
配置
如果是仅仅执行了这条命令
1 | bash复制代码./configure |
那nginx的目录就是
1 | markdown复制代码/usr/local/nginx |
以下讲解的所有配置都在nginx.conf
内进行
修改默认指向目录
取消默认指向的解析目录html
直接注释掉就行了。一般我会把项目目录指向 /var/www
一般都在虚拟主机文件中指向
避免泛解析
总有些人会把域名解析错地址或者是恶意解析到你的服务器上。对于这种人必须严惩
1 | ini复制代码server { |
分分钟屏蔽他
添加虚拟主机
虚拟主机的配置文件可千万别都写到nginx.conf中
一般我会在nginx.conf同级建立一个server目录存放
1 | bash复制代码include /usr/local/nginx/conf/server/*.conf; |
配置Gzip压缩
添加SSL支持
开启日志记录
开启负载均衡
开启反向代理
设置权限
最好设置nginx命令之允许root用户或者你们公司的运营执行,无缘无故的nginx -s stop可受不了。
官网文档
nginx官网是我感觉文档写的最简介最详细的文档。以下列出各部分详细地址
- 编译配置参数 nginx.org/en/docs/con…
- 虚拟主机配置 nginx.org/en/docs/htt…
- 配置文件中的计量单位 nginx.org/en/docs/syn…
- nginx命令参数 nginx.org/en/docs/swi…
- nginx负载均衡配置 nginx.org/en/docs/htt…
- nginx官方博客 www.nginx.com/blog/
致谢
感谢你看到这里,本篇文章我的语言过于偏激了,还希望见谅。希望本篇文章可以帮助到你,有什么问题可以在评论区留言。谢谢
** 别害怕英语,小学英语水平就能看懂,一切源于坚持 **
交流
生命不息,编码不止。
微信搜索 【一文秒懂】 传播技术正能量,持续学习新知识。
本文转载自: 掘金