菜鸟运维笔记:小记编译安装Nginx所遇到的坑
转载请注明出处:http://blog.csdn.net/guodongxiaren/article/details/40950249 谢谢合作
前言
不管是CentOS,或是Debian/Ubuntu,甚至是Windows。Nginx都有已编译好的安装包可用。通常只需要在终端上潇洒地输入apt-get install ...
或是yum install ..
就可以了。但是对于我这个源码编译狂
来说,那样一键安装,显然无法满足我心理需求。
获取Nginx源码
下载
官网已经出现了1.7了。不过我还是选择了目前稳定的1.6版本。打开你的终端,我们开始吧:
wget http://nginx.org/download/nginx-1.6.2.tar.gz
解压
tar xvf nginx-1.6.2.tar.gz
编译
进入刚才解压的目录下。你会发现,没有其他软件的源码中所包含的INSTALL文件(该文件通常用于指导如何正确编译源码),有一个README,来我们cat
一下。!坑爹啊,里面只有一句话!
Documentation is available at http://nginx.org
文档在这个网站上。。。
不过不用管他了,看到目录下绿色的configure文件在,那么我们直接上手吧。
configure
./configure
然后,你可能会收到一个错误,提示你缺少PCRE。不过,如果你之前已经在这台主机上成功安装了Apache的话,那么现在是不会报错的,因为Apache也是需要PCRE的。(我的是新搞的华为云的主机,几乎裸机)
安装PCRE
PCRE是什么呢?简单说来,就是一个Perl的库。那么我们接下来来编译pcre的源码。哈哈。
到官网去看,当前(截至2014/11/09)最新版本是8.36。
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
-DHAVE_CONFIG_H
接下来,同样是用tar xvf
解压。解压出一个pcre的目录,我们cd
进去。不由分说,直接./configure
。
貌似没出错,接着make
,貌似也没出问题,继续make install
。咦,有错误!
libtool: compile: unrecognized option `-DHAVE_CONFIG_H'
是我没装libtool么,yum install
一下。不对啊,装了啊。后来百度发现是缺少了g++编译器。对哦,我现在是裸机。这个我就不自己编译了(快跑题了),敲命令安装:
#CentOS下面
yum install gcc-c++
#Ubuntu下面
apt-get install g++
你应该是root
身份,我就不多说了。此时会默认安装一些依赖软件,比如autoconf。
zlib
然后我们再重新./configure
一下吧,瓦擦嘞,有问题(装完g++,configure都报错了。。),提示缺少zlib。好吧,继续百度,进官网。复制链接,然后继续wget
。
wget http://zlib.net/zlib-1.2.8.tar.gz
继续tar xvf
o(╯□╰)o解压出一个目录。我这里目录名是zlib-1.2.8。请注意我所有wget的文件都在同一层目录下面,解压路径也是同一层。
来我ls -F
一下:
nginx-1.6.2/ pcre-8.36/ zlib-1.2.8/
nginx-1.6.2.tar.gz pcre-8.36.tar.gz zlib-1.2.8.tar.gz
接着,我们再进入pcre的目录下面,去configure。加上一个选项。
./configure --with-zlib=../zlib-1.2.8
注意选项后面应该是,你自己的zlib目录的路径。You Know?
此时,应该不报错了,我们来一路高歌猛进,继续敲两个命令,——————>make
——————>make install
。
好了,没错误安装pcre完毕。深呼一口气,恩,费力不少啊,不过终于安装上了,好吧,教程结束。
咦?慢着,我们的教程不是教你安装pcre的啊。我们是Nginx安装教程啊。那好吧,继续。
make
在pcre安装完毕之后,再次进入nginx的目录下面,去./configure
应该不会报错了。
轻轻敲下四个字母make
。接着观看滚屏。
make install
滚屏完毕,继续敲make install
。然后继续看滚屏。。
开启Nginx
前文之中,我们已经安装好了Nginx,现在我们去开启它。因为刚才nginx源码目录下,我们在configure的时候,没有使用选项--prefix
(该选项用来指定nginx的安装位置),所以它默认安装到了/usr/local/nginx/目录中。 我们可以cd
进去,也可以不进去。下面开启它:
/usr/local/nginx/sbin/nginx
在安装目录下的sbin子目录中有Nginx的可执行文件。不过,很不幸,我的机器上,又报错了:
error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
提示缺少libpcre.so.1,但是我们刚才明明装了pcre啊。原来是Nginx默认在/lib64/目录下(我是64位机器,32位应该是搜索/lib/),搜索该库文件。显然,我们自己编译的pcre,它的这个库文件不在这个位置。来我们find / -name 'libpcre.so.1'
一下,找找看:
/usr/local/lib/libpcre.so.1
好吧,在/usr/local/lib/下面。我们来建立以符号链接吧。
ln -s /usr/local/lib/libpcre.so.1 /lib64/libpcre.so.1
然后,这次应该真得可以了。。。开启nginx:/usr/local/nginx/sbin/nginx
。没报错,那我们来检测一下,看谁在监听80端口。
netstat -lpn|grep :80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 28126/nginx
好了,打完收工。
菜鸟运维笔记:小记编译安装Nginx所遇到的坑相关推荐
- java1.8离线安装包_运维笔记--Ubuntu离线安装jdk1.8(JDK8)Java环境
Ubuntu离线环境安装jdk1.8 系统版本:Ubuntu16.04 其他Ubuntu版本安装类似 Jdk版本:8 1. 下载相应离线软件包 下载到本地后,上传至内网离线环境的服务器,解压: tar ...
- 老男孩的linux运维笔记-初级部分内容(一)
############################################################ # # USER YYYY-MM-DD – ACTION # ...
- 老男孩的运维笔记文档-中级部分(运维中级)列表(二)
############################################################ # # USER YYYY-MM-DD – ACTION # ...
- Nginx基础应用配置小结 - 运维笔记
Nginx基础应用配置小结 - 运维笔记 在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介 N ...
- 运维笔记-nginx详解
目录 1.简介 2.正向代理与反向代理 3.nginx的安装部署(基于Centos-stream操作系统) 4.nginx配置文件详解 5.高效的Web服务器-nginx 5.1nginx服务器基本配 ...
- [运维笔记] PowerShell (模块).模块的查找、安装、卸载、更新、保存、发布
[运维笔记] PowerShell (库/模块).库的查找.安装.卸载.更新.保存.发布 作者主页:jcLee95:https://blog.csdn.net/qq_28550263?spm=3001 ...
- Nginx运维之二 简单安装和环境搭建
Nginx运维之二 简单安装和环境配置 安装环境 gcc 安装 PCRE pcre-devel 安装 zlib 安装 OpenSSL 安装 下载安装 配置安装 编译安装 配置编辑(案例) 启动与停止 ...
- Nginx重启时提示nginx: [emerg] bind() to 0.0.0.0解决方法 老蒋 发布于 2019-06-03 分类:运维笔记 评论(0) 2000+站长交流QQ群: 59
c 老蒋 发布于 2019-06-03 分类:运维笔记 评论(0) 2000+站长交流QQ群: 594467847(资源和技术交流) 昨天下午老蒋在一台服务器中折腾迁移数据问题的时候,重启Nginx的 ...
- 老男孩的运维笔记文档-高级部分(系统架构师)列表(三)
############################################################ # # USER YYYY-MM-DD – ACTION # ...
- H5直播站点运维笔记一 服务器篇
H5直播站点运维笔记一 服务器 服务器篇 一.CentOS6基础操作 1. 查看服务器版本 2. 查看服务器性能 3. 文件查找 4. 软件查找 5. 用户系统 6. 远程登录工具 二.FTP ( V ...
最新文章
- Node.js:路由
- linux7 yum安装rabbitmq,CentOS7linux下yum安装RabbitMQ以及使用顶
- idea 如何看bytecode_IDEA字节码学习查看神器介绍
- weex 富文本_Weex richtext 富文本某个字加重显示
- NES模拟器开发-PPU笔记
- 从零开始徒手撸一个vue的toast弹窗组件
- 电脑c盘怎么清理_电脑C盘内存不足?三分钟教你彻底清理C盘空间,瞬间多出10个G...
- flex 发送到java_(转)java与flex通信
- mysql-------流程控制结构
- 可视化概念思维导图软件 MindMapper 17 Arena 完美汉化开心版
- ms sql server 2005 select guid返回null的问题
- Python黑帽子-实现netcat基本功能(改进版)
- 机器学习与数据挖掘的关系
- 什么是生成器 — 一篇文章让你看懂
- 2019年美国大学生数学建模注意事项(摘https://www.comap.com/undergraduate/contests/)(重点:论文提交方式)
- 阿里云Linux服务器部署JDK8实战教程
- 微软出手,干翻 IDEA?网友:先干翻 Eclipse 吧
- 【转】一名大学生的PHP进阶之路
- XSS challenges闯关笔记
- vue人力管理_springboot+vue微人事人力资源管理系统,前后台分离源码
热门文章
- mysql自定义函数的创建
- vue给列表添加序号_element-UI——el-table添加序号
- 什么是SMART原则?SMART原则是什么意思?
- 如何设置自定义任务栏图标_如何在Windows中自定义和调整系统任务栏图标
- 大龄女计算机考研去当老师,考研、考公务员、当老师!哪个更适合女生?史上最强答案给你!...
- shopnc怎么使用 php,ShopNC单用户版/安装php
- 关闭Tomcat报错The web application [ROOT] appears to have started a thread named [Abandoned connectio
- 蓝桥杯 算法训练 学做菜
- 研究生复试------12 学做菜
- 2015年至2017年的国产电影圈的数据分析