一、背景

  最近在写一些自己的项目,用到了nginx,所以自己动手来在Centos7上安装nginx,以下是安装步骤。

二、基本概念以及应用场景

1.什么是nginx

  Nginx是一款使用C语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

2.Nginx的应用场景

 1).http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

 2).虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

 3).反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

三、安装步骤

1.检查并安装所需的依赖软件

 1).gcc:nginx编译依赖gcc环境

   安装命令:yum install gcc-c++

 2).pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式.

   安装命令:yum install -y pcre pcre-devel

 3).zlib:该库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip。

   安装命令:yum install -y zlib zlib-devel

 4).openssl:一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http).

   安装命令:yum install -y openssl openssl-devel

2.下载nginx源码包

 下载命令:wget http://nginx.org/download/nginx-1.12.0.tar.gz

3.解压缩源码包并进入

 1).解压缩:tar -zxvf nginx-1.12.0.tar.gz

 2).进入解压缩后文件夹:cd nginx-1.12.0

4.配置编译参数命令:(可以使用./configure --help查询详细参数)

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

注:安装之前需要手动创建上面指定的nginx文件夹,即/var/temp、/var/temp/nginx、/var/run/nginx/文件夹,否则启动时报错

5.编译并安装

  命令:make && make install

  可以进入/usr/local/nginx查看文件是否存在conf、sbin、html文件夹,若存在则安装成功

四、基本使用

1.启动nginx

 1).进入安装目录

   cd /usr/local/nginx/sbin/

 2).启动

   ./nginx

 3).若报错:[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)

   需要查看下是不是在/var/run文件夹下不存在nginx文件夹,不存在则新建

 4).查看是否启动:ps -ef | grep nginx

   如果有master和worker两个进程证明启动成功

      

  注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:

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

   如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))

2.停止

 1).暴利kill(不推荐使用)

   kill -9 processId

 2).快速停止

   cd /usr/local/nginx/sbin && ./nginx -s stop

   此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程

 3).完整停止(建议使用)

   cd /usr/local/nginx/sbin && ./nginx -s quit

   此方式停止步骤是待nginx进程处理任务完毕进行停止

3.重启及重新加载配置

  1.先停止再启动(建议使用)

    ./nginx -s quit && ./nginx

  2.重新加载配置文件
    ./nginx -s reload

4.测试

  nginx安装成功,启动nginx,即可通过ip地址来访问nginx:

  

转载于:https://www.cnblogs.com/hafiz/p/6891458.html

Centos7安装Nginx实战相关推荐

  1. Centos7 安装Nginx(OpenResty)、Windows安装Nginx

    Nginx是一款高性能的代理.转发服务器,目前已经支持4层和7层代理. OpenResty则是基于Nginx增加Lua的功能,可以方便的实现缓存功能. 1.Nginx不同安装形式分析 安装形式 安装难 ...

  2. Centos7安装Nginx监控组件Nginx-rrd【二】

    Centos7安装Nginx监控组件Nginx-rrd 1. 安装perl.rrdtool 2. 安装Nginx-rrd 1. 下载Nginx-rrd 2. 配置nginx-rrd.conf 3. 配 ...

  3. CentOS7安装Nginx

    CentOS7安装Nginx 1.下载软件包 wget http://nginx.org/download/nginx-1.20.2.tar.gz 2.安装依赖 yum -y install gcc ...

  4. REHL7、CentOS7安装Nginx

    title: REHL7.CentOS7安装Nginx categories: Linux tags: - Nginx timezone: Asia/Shanghai date: 2019-01-06 ...

  5. Centos7安装Nginx并配置开机自启

    Centos7安装Nginx并配置开机自启 1.常用命令 #开机自启 chkconfig nginx on #启动nginx服务 systemctl start nginx.service #停止ng ...

  6. Centos7.4安装Nginx实战

    1.什么是nginx Nginx是一款使用C语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试ng ...

  7. CentOS7安装Nginx及其相关

    一.安装所需环境 gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装. yum install gcc-c++ PCRE pcr ...

  8. Centos7 安装 nginx 服务器的两种方式

    选用系统 Centos7 < 一 >  使用 yum 安装,该方法比较方便,如果不追求版本推荐使用 01, 添加 nginx 储存库  yum -y install epel-releas ...

  9. centos 编译nginx php mariadb,centos7安装nginx+mariadb+php-fpm

    由 dp7f1f9f 创建,最后一次修改 2017-05-22 用CentOS-7-x86_64-Minimal-1611.iso最小化安装一个centos7,安装选项:英文.时区为上海.启用网络(如 ...

最新文章

  1. 通信基站电源维护培训PPT课件
  2. Bluetooth ATT介绍
  3. 函数用计算机代码,用main函数传参做简单的计算器的代码
  4. 黑客攻击发现:多个银行类APP存漏洞
  5. ROracle Mysql_ROracle包查询数据库中文乱码
  6. 在数组中找重复数、只出现一次的数或丢失数的题目(Leetcode题解-Python语言)
  7. PrimeFaces Mobile入门
  8. Git 从了解到放弃
  9. 用户控件(UserControl)
  10. C程序设计语言现代方法14:预处理器
  11. python读取一个文件的大小_Python-读取文件的大小
  12. 创建线程方式2-runnable接口的实现类
  13. cisco帧中继实验
  14. HTML5离线缓存(Application Cache)
  15. 研发/项目计划管理表格
  16. 冉宝的每日一题--8月6日、8月7日--今天想学会拓扑排序
  17. CDO解析eml文件为html,C# 读取eml文件 例子(解析eml文件)
  18. 加密货币工具和算法大合集
  19. 时间序列中Hurst指数的计算(python代码)
  20. 如何形成统一设计风格 - 实践篇

热门文章

  1. 【微型计算机原理与接口技术】指令概述与标志寄存器
  2. 关于职场的6个深刻道理,每个都是血泪教训换来的,你一定要懂
  3. 把可视化放到年终报告里,到底有多赞?
  4. GIT上传代码Enumerating objects:类型报错解决,实测可用
  5. android随机抽奖代码_用Excel实现不放回随机抽样
  6. x3-02 java,Android Studio 3.2.1 - 新项目无法运行
  7. avd已创建模拟手机 点击开始没反应_佳能微单开始降价,索尼、 尼康、 富士稳中有升……...
  8. python中join和split使用
  9. python 缺省参数_week04_python函数缺省值
  10. 模拟登陆——以github为例