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

linux中配置nginx,linux中编译安装和配置nginx

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

最近 @大高个 在折腾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的,这样对网站的配置无影响,非常方便~



推荐阅读
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
author-avatar
姚允浩_266
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有