Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2015博客升级记(三):CentOS 7.1编译安装Nginx1.9.0

2015博客升级记(三):CentOS 7.1编译安装Nginx1.9.0

作者头像
typecodes
发布于 2024-03-29 05:52:01
发布于 2024-03-29 05:52:01
11100
代码可运行
举报
文章被收录于专栏:typecodestypecodes
运行总次数:0
代码可运行

这是《2015年博客升级记》系列文章的第三篇,主要记录如何在CentOS 7.1中编译安装Nginx官方最新的1.9.0版本。由于像Nginx、Mysql和PHP7的的源码都是用C/C++写的,所以自己的CentOS 7.1服务器上必须要安装gcc和g++软件(CentOS 7系列会自带这两个编译软件)。

CentOS 7.1编译安装Nginx1.9.0
CentOS 7.1编译安装Nginx1.9.0
1 依赖库配置,编译和安装Nginx1.9.0

先创建一个名为nginx且没有登录权限的用户和一个名为nginx的用户组,然后安装nginx所需的依赖库和依赖包,最后通过.configure进行安装的详细配置。另外,补录一个pcre的tar包备份地址:https://cdn.typecodes.com/libs/nginx/pcre-8.36.tar.gz,以及一个zlib的tar包备份地址:https://cdn.typecodes.com/libs/nginx/zlib-1.2.8.tar.gz。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#######新建nginx用户和nginx组
[root@typecodes ~]# groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
#######yum安装nginx必须的依赖库
[root@typecodes ~]# yum -y install openssl openssl-devel libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed

#######官网下载Nginx1.9.0的tar包,然后解压到服务器上
[root@typecodes ~]# wget -c http://nginx.org/download/nginx-1.9.0.tar.gz
[root@typecodes ~]# tar -zxf nginx-1.9.0.tar.gz && cd nginx-1.9.0

#######下载pcre的tar包并解压,以便支持Nginx的Rewrite功能
[root@typecodes nginx-1.9.0]# wget -c http://git.typecodes.com/libs/php/pcre-8.36.tar.gz && tar -zxf pcre-8.36.tar.gz
#######下载zlib的tar包并解压,以便支持Nginx的Gzip压缩功能
[root@typecodes nginx-1.9.0]# wget -c http://git.typecodes.com/libs/nginx/zlib-1.2.8.tar.gz
[root@typecodes nginx-1.9.0]# tar -zxf zlib-1.2.8.tar.gz

#######新建Nginx1.9.0安装时所需要的目录
[root@typecodes nginx-1.9.0]# cd /var/tmp/ && mkdir -p /var/tmp/nginx/{client,proxy,fastcgi,uwsgi,scgi}
[root@typecodes tmp]# mkdir -p /var/run/nginx && cd ~/nginx-1.9.0

准备工作做好后,就开始正式配置Nginx-1.9.0的安装明细了。注意,在使用下面这条configure参数配置时,一定要先把反斜杠“\”后面添加的注释文字去掉!!!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@typecodes nginx-1.9.0]# ./configure \
--prefix=/usr/share/nginx \                     [Nginx安装目录]
--sbin-path=/usr/sbin/nginx \                   [Nginx的sbin目录]
--conf-path=/etc/nginx/nginx.conf \             [Nginx的配置文件]
--error-log-path=/var/log/nginx/error.log \     [Nginx的错误日志]
--http-log-path=/var/log/nginx/access.log \     [Nginx的访问日志]
--pid-path=/var/run/nginx/nginx.pid  \          [Nginx的进程ID]
--lock-path=/var/lock/nginx.lock \
--user=nginx \                          [Nginx所属用户]
--group=nginx \                         [Nginx所属用户组]
--with-http_ssl_module \                    [Nginx的ssl模块]
--with-http_spdy_module \               [Nginx的Google spdy模块]
--with-http_dav_module \
--with-http_flv_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_random_index_module \
--with-http_degradation_module \
--with-http_secure_link_module \
--with-http_gzip_static_module \            [Nginx的gzip压缩模块]
--with-http_perl_module \
--with-pcre=pcre-8.36 \                 [pcre的安装目录]
--with-zlib=zlib-1.2.8 \                    [pcre的安装目录]
--with-debug \                          [允许DEBUG]
--with-file-aio \
--with-mail \
--with-mail_ssl_module \
--http-client-body-temp-path=/var/tmp/nginx/client_body \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-stream \                         [Nginx1.9.0特有的stream模块]
--with-ld-opt="-Wl,-E"                  [gcc的编译优化]

配置过程大概需要5分钟左右,部分截图如下:

nginx的configure过程
nginx的configure过程
2 配置完后,就可以直接编译和安装了

最后,直接使用执行这条命令[root@typecodes nginx-1.9.0]# make && make install进行安装即可。其中,make命令和make install命令的执行结果附图如下:

Nginx编译时make执行结果
Nginx编译时make执行结果
Nginx编译时make install执行结果
Nginx编译时make install执行结果
3 配置Nginx1.9.0,使之正常工作

成功安装Nginx1.9.0后,我们需要进行一些配置,包括开机启动、SSL/HTTPS服务等。其中,Nginx服务控制脚本nginx见文章《Nginx服务启动、停止和重启等操作的SHELL脚本》

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#######上传Nginx服务控制脚本nginx,并赋予执行权限,删除安装包,添加Nginx服务到开机启动
[root@typecodes ~]# mv ~/nginx /etc/init.d/nginx && chmod +x /etc/init.d/nginx
[root@typecodes ~]# rm -rf nginx-1.9.0*
[root@typecodes ~]# chkconfig --add nginx
[root@typecodes ~]# chkconfig nginx on

由于博客准备全站启用https服务,所以直接将前文《阿里云CentOS 6.5系统LNMP环境安装SSL证书》中产生的私钥typecodes.key和证书文件typecodes_last.crt打包的ssl.tar.gz上传到服务器使用。而Nginx配置文件nginx.conf见文章《2015博客升级记(六):Nginx配置HTTPS和SPDY实战》

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#######上传ssl文件和Nginx配置文件nginx.conf
[root@typecodes ~]# mkdir -p /etc/nginx/ssl && tar -zxf ~/ssl.tar.gz -C /etc/nginx/ssl
[root@typecodes ~]# cd /etc/nginx/ && tar -zcf etc.nginx.tar.gz ./
[root@typecodes ~]# rm -rf ~/ssl.tar.gz 
[root@typecodes ~]# mv ~/nginx.conf /etc/nginx
mv: overwrite ‘/etc/nginx/nginx.conf’? y

#######测试配置是否正常
root@typecodes ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

#######新建Nginx进程日志nginx.pid目录,并启动服务
[root@typecodes ~]# mkdir -p /var/run/nginx/
[root@typecodes ~]# service nginx start
Restarting nginx (via systemctl):  [  OK  ]

最后使用命令[root@typecodes nginx]# nginx -V查看Nginx1.9.0的详细信息。

查看Nginx1.9.0的详细信息
查看Nginx1.9.0的详细信息
4 错误分析

这里特意分析了一些Nginx安装过程中可能出现的错误情况,详见文章《Nginx编译安装时常见错误分析》

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-06-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2015博客升级记(四):CentOS 7.1编译安装MySQL5.7.7rc
这是《2015年博客升级记》系列文章的第四篇,主要记录在Linux系统中如何编译安装MySql数据库。
typecodes
2024/03/29
1400
2015博客升级记(四):CentOS 7.1编译安装MySQL5.7.7rc
编译安装Nginx开启http/2教程
虽然绝大多数网站仍然在使用 http/1.1,但 http/2 所带来的高性能和高安全性无疑会吸引越来越多的网站加入。简单的说,http/2 强制要求 https 连接并且能够防止线程阻塞,因而能够防止网络窃听并且缩短加载时间。不过使用一键包的朋友完全没必要自行编译,目前大多数 lnmp 一键包已经对 http/2 提供了良好的支持,通常只需更改虚拟主机配置文件即可。不过 reizhi 在这里只需用到 Nginx 作为反代服务器,并不需要安装其他组件,于是只好自行编译。在此写下编译安装 Nginx 并开启 http/2 的教程,以备不时之需。
reizhi
2022/09/26
1.1K0
编译安装Nginx开启http/2教程
Linux 6下安装编译安装Nginx
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达50,000个并发连接数的响应,而且内存开销极小。这也是Nginx广受欢迎的重要原因。本文演示了基于Linux 6下编译安装Nginx,供大家参考。 一、安装环境 # cat /etc/issue Red Hat Enterprise Linux Server rele
Leshami
2018/08/13
1.9K0
Nginx编译安装
​ nginx 日志文件分为 log_format 和 access_log 两部分
Cyylog
2020/08/19
2.2K0
Nginx的编译安装
yum -y install gcc gcc-c++ autoconf automake
用户7741497
2022/02/22
3010
2015博客升级记(五):CentOS 7.1编译安装PHP7
这是《2015年博客升级记》系列文章的第五篇,主要记录在Linux系统中如何编译安装PHP7。
typecodes
2024/03/29
1250
2015博客升级记(五):CentOS 7.1编译安装PHP7
CentOs7.3 编译安装 Nginx 1.9.9
CentOs7.3 编译安装 Nginx 1.9.9 安装 安装依赖 $ yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel 下载并解压 $ cd /opt/ $ wget http://nginx.org/download/nginx-1.9.9.tar.gz $ tar zxvf nginx-1.9.9.tar.gz 编译 编译时候可以指定编译参数,参考文章
程序员鹏磊
2018/02/09
1.7K0
Nginx简单介绍以及安装与配置
一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。后者的各种功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并不是所有的情况下都是epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。
bear_fish
2018/09/20
5030
Nginx简单介绍以及安装与配置
Centos6.5安装配置nginx
出现如下代码: nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 安装成功!
Java帮帮
2018/12/19
5440
Centos6.5安装配置nginx
Centos7下Nginx编译安装与脚本安装的记录
yum install -y wget make cmake gcc gcc-c++ \
菲宇
2022/12/21
3460
Centos7下Nginx编译安装与脚本安装的记录
CentOS 7.0下编译安装LNMP
LNMP(Linux-Nginx-MySQL-PHP),本文在CentOS 7.0上编译LNMP尝尝鲜,全文基本上都是采用手动编译部署,依赖yum帮我安装了GCC和automake。写这个东西耗时有点久了。太花时间啦。
星哥玩云
2022/07/01
4870
CentOS 7.0下编译安装LNMP
Nginx的安装和配置
zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf中配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,则在编译时就必须把zlib编译进Nginx。zlib-devel是二次开发所需要的库。
Action
2021/08/20
7060
Nginx的安装和配置
linux下编译安装nginx完整版
0x01 Nginx有哪些优点 更快 这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应; 另一方在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请 高扩展性 Nginx的设计极具扩展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极 低的模块组成。因此,当对某一个模块修复Bug或进行升级时,可以专注于模块自身,无须 在意其他。 高可靠性 Nginx的高可靠性来自于其核心框架代码 的优秀设计、模块设计的简单性;官方提供的常用模块都非常稳定,每个worker进
小柒吃地瓜
2020/04/23
15.5K1
centos6.5编译安装LNMP架构web环境
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
用户3094376
2018/09/12
1.7K1
Nginx安装fair模块
官方github下载地址:https://github.com/gnosek/nginx-upstream-fair 我已经放到了百度网盘,可以直接下载
互联网-小阿宇
2022/11/21
5540
Nginx安装fair模块
Nginx编译安装nginx-upsync-module模块以实现动态负载
【转载请注明出处】:https://cloud.tencent.com/developer/article/1627571
后端老鸟
2020/05/13
1.2K0
Nginx编译安装nginx-upsync-module模块以实现动态负载
统信服务器操作系统【Nginx 编译安装】
Nginx是一款轻量级的开源、高性能的Web 服务器和反向代理服务器及电子邮件(IMAP/POP3)服务器。Nginx支持该可用架构部署,支持在不间断服务的情况下对软件版本进行热更新,其占用内存少、并发能力强、能支持高达 5w 个并发连接数。
Kevin song
2024/05/11
7250
统信服务器操作系统【Nginx 编译安装】
Centos7安装wiki.js
简介: Centos7安装wiki.js 3.*特性前瞻 支持直接github同步 更完善的用户管理系统 页面关联功能增强可以更加容易配置文档之间的关联 wiki.js特点 强大的编辑器 预置了多种网站分析工具,如baidu,google,yandex 支持标签功能 安装node.js和wiki.js 安装依赖 yum groupinstall -y "Development" yum install -y gcc-c++ make 安装node14 curl -sL https://rpm.nodeso
姚华
2022/06/30
5800
CentOS7 编译安装 nginx php7
腾讯云出了个学生优惠,可以每月1元使用云主机,买了一台。之前的VPS搭建LNMP环境一直用的是一键安装包oneinstack,想来自己也该编译玩玩,就没用一键安装包了。 安装 nginx 当前nginx的Stable version是1.8.0, Mainline version是1.9.9, 这里安装了1.9.9 下载的所有包都放在了/usr/local/src/ 先把所需要的库下载安装好 zlib pcre openssl, zlib http://zlib.net/zlib-1.2.8.tar.g
许杨淼淼
2018/07/11
9260
Centos7 编译安装Nginx
注:本文转自译:Centos7 编译安装Nginx 教程,如需转载请注明出处,https://www.cnblogs.com/zhuchenglin/p/11773815.html。
lin_zone
2019/11/01
5830
相关推荐
2015博客升级记(四):CentOS 7.1编译安装MySQL5.7.7rc
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验