前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux[CentOS]下编译安装Nginx 步骤

Linux[CentOS]下编译安装Nginx 步骤

作者头像
无道
发布2019-11-13 16:51:15
4.3K0
发布2019-11-13 16:51:15
举报
文章被收录于专栏:无道编程无道编程

介绍

Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性:

  • Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50,000 个并发连接数的响应
  • Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务. Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.
  • 作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验.

以上摘抄自网络

目前在手的服务器是一台1M的学生机,安装的服务器是Apache,以前也是相安无事,但自从流量较多后,时不时卡顿,服务器负载经常10-30。

于是切换至Nginx,不知道是不是心理作用,真的感觉不那么卡顿了。【应付并发真牛!】

下面记录下安装步骤。

安装

官网

官网下载页面:http://nginx.org/en/download.html

截图-1571476715
截图-1571476715

我们这里直接选择wget安装就是,不用先下载到Windows再上传。

安装依赖

先安装编译需要的依赖:

代码语言:javascript
复制
yum -y install pcre-devel gcc gcc-c++ autoconf automake make zlib-devel openssl openssl-devel
截图-1571476885
截图-1571476885
下载/解压Nginx

下载

代码语言:javascript
复制
wget -c http://nginx.org/download/nginx-1.16.1.tar.gz

这里选择1.16.1 稳定版 你也可以先下载好,再上传到Linux也行。

截图-1571476955
截图-1571476955

解压

代码语言:javascript
复制
tar -zxvf nginx-1.16.1.tar.gz
截图-1571477027
截图-1571477027
配置编译

配置

代码语言:javascript
复制
cd nginx-1.16.1 # 进入到解压目录
代码语言:javascript
复制
./configure --prefix=/usr/local/nginx

参数说明:

  • --prefix 用于指定nginx编译后的安装目录

这里可以安装其它模块,比如支持https(ssl)的模块,我们先一切从简即可。

显示如下内容,则说明配置没错了:

截图-1571477278
截图-1571477278

编译安装

代码语言:javascript
复制
make && make install
截图-1571477356
截图-1571477356

出现以上内容,基本就完成了。

进入安装目录,启动服务器

代码语言:javascript
复制
cd /usr/local/nginx

初始安装完成,该目录只有4个文件夹:conf html logs sbin

  • conf 配置文件目录
  • html 网站的静态文件目录
  • sbin 一些可执行文件目录,例如启动nginx就要执行该文件夹下面nginx命令
截图-1571477530
截图-1571477530

进入sbin

代码语言:javascript
复制
cd sbin

启动

代码语言:javascript
复制
./nginx -c /usr/local/nginx/conf/nginx.conf

后面的-c参数是说指定配置文件

截图-1571477696
截图-1571477696

执行成功后,并无任何显示,可用ps -ef | grep nginx查看进程:

截图-1571477741
截图-1571477741

访问服务器IP,看到如下界面,则说明安装成功了:

截图-1571477800
截图-1571477800

补充

关闭/重启

重启

代码语言:javascript
复制
nginx -s reload

关闭

代码语言:javascript
复制
./nginx -s stop
截图-1571477903
截图-1571477903

就没有进程了,还有关闭方法: 通过kill nginx的进程号 【进程即ps -ef | grep nginx命令查询出来的进程号】

软链接

目前启动、重启、关闭我们都要进入/usr/lcoal/nginx/sbin下目录通过./nginx 执行,更简单的办法就是创建一个软链接到/usr/bin/nginx

代码语言:javascript
复制
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

然后,在任意目录执行nginx都行了。

其他命令

  • 检测配置文件是否合法:nginx -t
  • 查看版本:nginx –V

添加新的模块

如上我们配置nginx时,没有加一个模块。那么如何在安装nginx后添加一个新模块呢?

步骤

1、进入nginx的源码目录

截图-1571485374
截图-1571485374

2、重新执行配置

代码语言:javascript
复制
./configure --prefix=/usr/local/nginx --with-http_ssl_module

本次我们加上了http_ssl_module模块,当然还是是安装到usr/local/nginx

截图-1571485441
截图-1571485441

3、执行make

注意!!!千万别执行make install,不要回覆盖安装!!!!!

执行make完毕后,会有一个objs目录,然后在objs目录会有一个新的nginx执行文件:

截图-1571485620
截图-1571485620

4、备份旧的nginx程序,并将新的nginx复制到旧的目录

代码语言:javascript
复制
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak #备份旧的
cp -f  nginx /usr/local/nginx/sbin/nginx # 复制新的nginx到/usr/local/nginx
# 执行上面这条复制命令,确保在objs目录,不然路径不对
截图-1571485867
截图-1571485867

5、测试新的nginx程序是否正确

代码语言:javascript
复制
cd /usr/local/nginx/sbin #进入/usr/local/nginx/sbin 
./nginx -t
截图-1571485982
截图-1571485982

6、重启nginx

代码语言:javascript
复制
./nginx -s reload
截图-1571486020
截图-1571486020

7、查看模块是否已安装

代码语言:javascript
复制
./nginx -V 
截图-1571486067
截图-1571486067

8、重启Nginx

代码语言:javascript
复制
./nginx -s quit
./nginx

到此,新增模块就完毕了!

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装
    • 官网
      • 安装依赖
        • 下载/解压Nginx
          • 配置编译
          • 补充
            • 关闭/重启
              • 软链接
              • 添加新的模块
                • 步骤
                相关产品与服务
                轻量应用服务器
                轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档