博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux中配置nginx,linux中编译安装和配置nginx
阅读量:6904 次
发布时间:2019-06-27

本文共 2389 字,大约阅读时间需要 7 分钟。

最近 @大高个 在折腾nginx,一时性起我就在深夜里写下了这篇博文,以记下了我曾经折腾nginx的那些不悔青春,这里以centos为例:

目录约定

首先约定下一些常用的目录,如:

# 根目录挂载

/home/

# 安装包目录,存放一些常用的安装包

./src/

./nginx-1.11.1.tar

./node-6.2.2.tar

./zlib-1.2.8.tar.gz

...

# 程序目录,存放一些编译后(运行中)的程序,以版本区分

./local/

./nginx-1.11.1/

./nginx-1.0.0/

./node-6.2.2/

...

# nginx的配置,先有这个目录,具体作用下面说

./nginx-conf/

# 网站总目录,网站是以域名为文件名存放在该目录下

./wwwroot/

./www.xuexb.com/

./www.a.com/

...

编译安装nginx

下载安装包并解压

# 进入约定的安装包目录

cd /home/src/

# 下载nginx安装文件,这里以 nginx-1.11.1 为例,其他的nginx包可以去官网查找

wget http://nginx.org/download/nginx-1.11.1.tar.gz

# 把安装包解压,会自动解压到 /home/src/nginx-1.11.1/ 文件夹里

tar xzf nginx-1.11.1.tar.gz

# 创建对应版本的程序目录,这个目录用来存放编译后的文件

mkdir -p /home/local/nginx-1.11.1/

nginx的配置文件

其实完全可以使用nginx的默认配置文件,默认配置文件编译后的地址在程序目录/conf/nginx.conf,但如果你会频繁的更新nginx版本的话配置文件最后"分离",类似前后端分离一样,这样可以少"吵架"(解耦合),我们单独的把nginx的所有配置,包括所有站点的配置、ssl证书都放在/home/nginx-conf/目录里,如:

/home/nginx-conf/

# nginx配置文件

./nginx.conf

# nginx的其他配置

./mime.types

# 站点配置

./conf/

# www.xxoo.com网站的配置文件

./www.xxoo.com.conf

./www.a.com.conf

...

/home/nginx-conf/conf/目录里存放以网站为单位的配置文件,文件名以网站域名命名,这样可以配置分离,互不影响,而且好定位问题。

配置nginx安装参数

# 进入安装包解压后的目录

cd /home/src/nginx-1.11.1/

# 开始配置

./configure --prefix=/home/local/nginx-1.11.1 --conf-path=/home/local/nginx-conf/vhost/nginx.conf --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_dav_module --with-http_gzip_static_module --with-http_v2_module

配置里的一些详情介绍:

--prefix 指向安装目录--conf-path 指向配置文件(nginx.conf),我们不管后续如何升级nginx,配置文件永远用那一个,这样就分离了--user= 指定程序运行时的非特权用户--group= 指定程序运行时的非特权用户组--with-http_realip_module 启用ngx_http_realip_module支持(这个模块允许从请求标头更改客户端的IP地址值,默认为关)--with-http_dav_module 启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY和MOVE方法)默认情况下为关闭,需编译开启--with-http_gzip_static_module 启用gzip功能

以下是2个可选的,可以删了

--with-http_v2_module 开始http2功能,nginx 1.9.5之后支持该功能,之前叫http_spdy_module--with-http_ssl_module 开启ssl功能,也就是https,当然你可以删除该参数,开启她需要openssl的依赖,openssl你先看下本机有没有装,没有就下个,百度一堆方法

其他的安装编译配置可点击:nginx编译参数

编译nginx

# 开始编译并安装,可能需要sudo权限

[sudo] make

[sudo] make install

验证是否安装成功

# 进入nginx执行目录

cd /home/local/nginx-1.11.1/sbin/

运行./nginx -v查看版本,结果如:

nginx version: nginx/1.11.1

如果你有开启http_ssl_module,可运行:./nginx -V查看是否支持,结果如:

nginx version: nginx/1.11.1

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

...

更新版本

当你想升级nginx版本时,可下载、配置、编译安装即可,配置全用/home/local/nginx-conf的,这样对网站的配置无影响,非常方便~

转载地址:http://nxodl.baihongyu.com/

你可能感兴趣的文章
其实,SSL也不是配通了就什么都不管的~~
查看>>
请不要用SECONDS_BEHIND_MASTER来衡量MYSQL主备的延迟时间【转】
查看>>
10个强大的Javascript表单验证插件推荐
查看>>
北邮iptv用WindowsMediaplayer打不开的解决的方法
查看>>
软件发布版本区别介绍-Alpha,Beta,RC,Release
查看>>
cdoj 1143 传输数据 最大流
查看>>
loadrunner 学习笔记--AJAX
查看>>
a5调试
查看>>
cocoa 的大招(KVC的几点强大应用记录)
查看>>
IOS7 导航栏适配二
查看>>
第1章 游戏之乐——NIM(3)两堆石头的游戏
查看>>
eclipse中新建python项目报错:Project interpreter not specified
查看>>
如何在Linux上实现文件系统的自动检查和修复?
查看>>
jquery ajax调用返回json格式数据处理
查看>>
奥姆卡剃刀原理
查看>>
数据结构(C实现)------- 单链表
查看>>
ORA-28000: the account is locked-的解决办法
查看>>
大型网站架构的演化
查看>>
(笔记)电路设计(十一)之DC/DC电源转换方案设计应用
查看>>
Cannot complete the install because one or more required items could not be found
查看>>