麦叔告诉你,Linux下安装nginx都踩了那些坑

前言

Hi,大家好,我是麦叔,最近公司的项目开始尝试使用前后端分离。或许大家都知道,前后端分离项目部署时候,我们一般采用nginx代理。如果你还没有真正在Linux系统下安装过nginx,那么这篇文章,麦叔已经帮你把坑踩完了,可以直接入手收藏

一.环境准备

  • CentOS 6.5
  • Oracle VM VirtualBox(运行CentOS 6.5系统)
  • nginx-1.12.2
  • Xshell 5

二.安装流程

1.进入nginx官网,选择下载稳定版;

这里写图片描述

2.进入 /usr/local/src/目录

cd /usr/local/src/

执行命令wget ,下载nginx压缩包;

查看目录,我们发现nginx压缩包已经成功下载;

3.解压nginx压缩包

#解压命令tar zxvf nginx-1.12.2.tar.gz

解压完成以后,如下图

4.nginx配置

首先,进入nginx目录

执行以下命令:主要是为了配合nginx配置文件和日志文件的目录

#配置命令./configure --prefix=/usr/local/nginx

我们发现报错了,这是因为安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:执行以下命令:

gcc环境安装完成以后,我们重新执行配置命令./configure --prefix=/usr/local/nginx,发现又报以下错误;

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。执行以下命令:

pcre库安装完成以后,我们在执行一次配置命令,./configure --prefix=/usr/local/nginx,发现又报了以下错误;

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。执行以下命令:

最后,我们在执行一次配置命令,发现成功配置

6.nginx编译和安装

进入/usr/local/src目录下的nginx目录执行如下命令

编译和安装完成:

至此,nginx的安装就完成了!

三.nginx安装目录介绍

进入目录/usr/local/nginx,发现有四个目录(第一次漏图啦,后面补得,路径会有点出入)

四.nginx启动

进入目录/usr/local/nginx注意:我们nginx解压在/usr/local/src目录下,但是我们并没有安装在src目录,而是local目录;执行如下命令:

根据图中的报错信息,我们发现80端口已经被占用;接下来,我们查一下是什么占了80端口,然后kill掉它;执行如下命令:

#查找端口netstat -antp

我们发现是nginx进程占用了,那么我们关闭重启一下执行如下命令:

#快速关闭kill TERM 9999

执行完命令我们,我们在查询一次,发现80端口已经释放;然后我们重启一下试试,发现正常启动;

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/ad6f0fa92084045b877da6640
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券