专栏首页无道编程Linux[CentOS]下编译安装Nginx 步骤

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

介绍

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

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

安装依赖

先安装编译需要的依赖:

yum -y install pcre-devel gcc gcc-c++ autoconf automake make zlib-devel openssl openssl-devel

下载/解压Nginx

下载

wget -c http://nginx.org/download/nginx-1.16.1.tar.gz

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

解压

tar -zxvf nginx-1.16.1.tar.gz

配置编译

配置

cd nginx-1.16.1 # 进入到解压目录
./configure --prefix=/usr/local/nginx

参数说明:

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

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

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

编译安装

make && make install

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

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

cd /usr/local/nginx

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

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

进入sbin

cd sbin

启动

./nginx -c /usr/local/nginx/conf/nginx.conf

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

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

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

补充

关闭/重启

重启

nginx -s reload

关闭

./nginx -s stop

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

软链接

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

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

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

其他命令

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

添加新的模块

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

步骤

1、进入nginx的源码目录

2、重新执行配置

./configure --prefix=/usr/local/nginx --with-http_ssl_module

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

3、执行make

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

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

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

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目录,不然路径不对

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

cd /usr/local/nginx/sbin #进入/usr/local/nginx/sbin 
./nginx -t

6、重启nginx

./nginx -s reload

7、查看模块是否已安装

./nginx -V 

8、重启Nginx

./nginx -s quit
./nginx

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从模版方法模式到 SPI 演变 :好的思想通用而持久

    一般情况下,我们会通过 API 对外提供服务。这里,API 提供服务的接口的逻辑是固定的,换句话说,它具有通用性。但是,但我们遇到具有类似的业务逻辑的场景时,即...

    用户2781897
  • 拉取一个nginx的容器

    PS:docker exec -it containerID /bin/bash 进入容器

    Criss@陈磊
  • Flask 静态文件、模板文件设置

    在Django项目中,如果需要访问静态文件,默认则是使用 /static 的前缀来进行访问。那么对于Flask来说,也是一样的。

    Devops海洋的渔夫
  • 如何用PowerBI自定义函数批量爬取财务报表

    近期,学习了马老师的商业智能财务分析(PowerBI)课程后,不免手痒,教学中的案例数据不过瘾,于是在PowerBI学友的启发下,自己找现实数据玩了起来。那么今...

    公众号PowerBI大师
  • 3.2.2 、Google Tag Manager实战指南——第三方代码部署

    第三方代码的部署方式有两种,一种是采用内置模板的方式,一种是采用自定义HTML的形式,下面以部署Adroll再营销代码作为例子,首先登陆Adroll去获取跟踪代...

    GA小站
  • 如何筛选特征?用随机森林(RF)

    一般情况下,数据集的特征成百上千,因此有必要从中选取对结果影响较大的特征来进行进一步建模,相关的方法有:主成分分析、lasso等,这里我们介绍的是通过随机森林来...

    机器学习AI算法工程
  • 2.4.1、Google Analytics高级应用——查看页面上下级

    在GA中查看上下级页面有默认参数:先前页面路径和后续页面路径,但出来的结果往往是前后相等的,错误的,如图2-48所示:

    GA小站
  • 公网端口不够用,用这款神器轻松搞定它!

    一些互联网服务提供商或公司可能已经阻止了大多数网络端口,并且只允许使用少数特定端口(如:80 和 443)来进行服务访问,以加强其安全性。 在这种情况下,如果...

    iMike
  • Python 3 既是激进的又是克制的,这些提议被否决了

    导语:Python 3.8 已经发布了,引进了不少变更点。关于 3.9 预计引入的修改,也披露了一些。我们之前还关注过 GIL的移除计划 和 Guido 正在开...

    Python猫
  • vue介绍

    库是一种插件,是一种封装好的特定方法的集合。提供给开发者使用,控制器在使用者手里。

    达达前端

扫码关注云+社区

领取腾讯云代金券