Centos 7 源码编译安装 Nginx 1.13

原文地址:https://renwole.com/archives/39

1.先决条件:

centos7.2 64位,安装配置nginx前必须安装nginx依赖包,并安装前文开头所提供的依赖包。此依赖组件包适用于Nginx任意版本。

安装依赖组件(包含Nginx依赖):

$ yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel

新建web用户和组
    $ /usr/sbin/groupadd www
    $ /usr/sbin/useradd -g www www
    $ ulimit -SHn 65535 //设置linux高负载参数

2.从官方下载Nginx以及OpenSSL

下载Nginx时有两个版本:开发版和稳定版,如果用于生产就下载稳定版本,http://nginx.org/en/download.html (最好下载最新版本的稳定版,这样会有bug修复以及新特性)我下载的是就是目前最新版本nginx-1.13.9。

$ cd /tmp
    $ wget https://www.openssl.org/source/openssl-1.1.1-pre2.tar.gz
    $ tar zxvf openssl-1.1.1-pre2.tar.gz
    $ wget https://nginx.org/download/nginx-1.13.5.tar.gz
    $ tar zxvf nginx-1.13.9.tar.gz
    $ cd nginx-1.13.9

3.安装Nginx

你可能会注意到有些文档教程安装nginx的时候,并未指派这么多模块,(看起来好长),有的连模块和用户都没有指派,其实模块是根据自己的需要指派的, 如果想以后不麻烦,那么就按照下面的模块指派就行了,其实这也算是全能的了,不然后期你需要什么还得重新编译进去,不是很麻烦,但也不省事。至于是否指派用户组,我坚决会让你指派,这可关乎nginx配置的可用性和安全稳定。

$ ./configure \
    --prefix=/usr/local/nginx \
    --user=www \
    --group=www \
    --with-pcre \
    --with-openssl=/tmp/openssl-1.1.0e \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_realip_module \
    --with-http_addition_module \
    --with-http_sub_module \
    --with-http_dav_module \
    --with-http_flv_module \
    --with-http_mp4_module \
    --with-http_gunzip_module \
    --with-http_gzip_static_module \
    --with-http_random_index_module \
    --with-http_secure_link_module \
    --with-http_stub_status_module \
    --with-http_auth_request_module \
    --with-http_image_filter_module \
    --with-http_slice_module \
    --with-mail \
    --with-threads \
    --with-file-aio \
    --with-stream \
    --with-mail_ssl_module \
    --with-stream_ssl_module \

$ make -j8 && make install //编译并安装

4.创建 systemctl 系统 Nginx 单元文件

安装完成后还需要开机自启动,不然每次开机都需要手动,那岂不是太麻烦。

$ vim /usr/lib/systemd/system/nginx.service

[Unit]
    Description=The nginx HTTP and reverse proxy server
    After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStartPre=/usr/local/nginx/sbin/nginx -t
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/bin/kill -s HUP /usr/local/nginx/logs/nginx.pid
    ExecStop=/bin/kill -s QUIT /usr/local/nginx/logs/nginx.pid
    PrivateTmp=true

[Install]
    WantedBy=multi-user.target

保存并退出。

5.加入开机自启动并启动Nginx

$ systemctl enable nginx.service
    $ systemctl restart nginx.service

6.设置Firewalld防火墙

$ firewall-cmd --zone=public --add-port=80/tcp --permanent
    $ firewall-cmd --reload

7.查看Nginx是否启动成功

$ ss -ntlp

8.配置nginx支持php
配置nginx.conf如下:

其中:fastcgi_pass的.sock路径在/usr/local/php/etc/php-fpm.d/www.conf中搜索listen
 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            #fastcgi_pass   127.0.0.1:9000;
            fastcgi_pass   unix:/var/run/www/php-cgi.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

centos7.2 安装 nginx的更多相关文章

  1. Docker 实战(二)——centos7镜像安装nginx,将安装nginx的centos容器生成新的镜像,并导出

    Docker centos7镜像安装nginx 1.安装docker 使用yum安装docker不再重复:见  Linux常用命令 2.pull centos 1)在docker仓库中搜索centos ...

  2. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

  3. CentOS7 yum 安装 Nginx最新版本

    CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarc ...

  4. CentOS7离线安装Nginx(详细安装过程)

    CentOS7离线安装Nginx(详细安装过程) 1.安装gcc.g++ 下载好所需的文件后上传至服务器(下载地址:https://download.csdn.net/download/a729360 ...

  5. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  6. .Net Core Linux centos7行—安装nginx,运行静态网站

    使用编译安装方式安装nginx Nginx下载地址:http://nginx.org/en/download.html.下载Stable version(稳定版就好).当前稳定版:http://ngi ...

  7. CentOS7 编译安装 Nginx (实测 笔记 Centos 7.0 + nginx 1.6.2)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...

  8. CentOS7.0安装Nginx

    安装Nginx yum install nginx 正常情况下必定是: 已加载插件:fastestmirror, langpacks base | :: docker-main | :: extras ...

  9. Centos7 编译安装Nginx 教程

    相信经过上篇博文的学习,聪明的你已经学会了如何在Centos7 上通过yum 方式安装Nginx ,但是有时候有些场景或者特俗情况下,我们往往需要通过编译源码方式安装,以便于更灵活地定制我们的Ngin ...

  10. Centos7 编译安装 Nginx Mariadb Asp.net Core2 (实测 笔记 Centos 7.3 + Openssl 1.1.0h + Mariadb 10.3.7 + Nginx 1.14.0 + Asp.net. Core 2 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

随机推荐

  1. MYSQL 碎片查询

    查询库中碎片大于1G的所有表 数据总大小:DATA_LENGTH+INDEX_LENGTH实际表空间大小: TABLE_ROWS*AVG_ROW_LENGTH碎片大小:(DATA_LENGTH+IND ...

  2. hdu 1556 Color the ball(树状数组)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556 题意:N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数[a,b]之间的气球 ...

  3. zookeeper如何实现负载均衡的?(具体连接哪一个zookeeper服务器的选择?)阿里面试

    如果想了解web 6大负载均衡算法,参考:六大Web负载均衡原理与实现 主要是三点:负载均衡算法,健康检查和会话保持 1:首先,我们要了解,我们的应用程序,比如java web程序,里面配置了10个z ...

  4. 多示例学习 multiple instance learning (MIL)

    多示例学习:包(bags) 和 示例 (instance). 包是由多个示例组成的,举个例子,在图像分类中,一张图片就是一个包,图片分割出的patches就是示例.在多示例学习中,包带有类别标签而示例 ...

  5. Bank Robbery LightOJ - 1163(推方程 注意计算机的计算方式)

    题意:一个数A,如果A去掉它的最后一位就变成了B,即B=A/10,给A - B,求A #include <iostream> #include <cstdio> #includ ...

  6. python读取写入内存方法SringIO,BytesIO

    python中不仅仅可以在磁盘中写入文件,还允许直接在内存中直接写入数据:需要借助StringIO和BytesIO来实现: 1.直接操作StringIO from io import StringIO ...

  7. 【bzoj1483】 HNOI2009—梦幻布丁

    http://www.lydsy.com/JudgeOnline/problem.php?id=1483 (题目链接) 题意 $n$个布丁摆成一行,进行$m$次操作.每次将某个颜色的布丁全部变成另一种 ...

  8. ActiveMQ反序列化漏洞(CVE-2015-5254)复现

      0x00 漏洞前言 Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等.Apache ...

  9. CentOS7搭建elasticsearch集群

    准备三个节点,系统版本为CentOS7.3. 11.0.10.18 es01 11.0.10.19 es02 11.0.10.20 es03 1.安装java环境 # yum install -y j ...

  10. Webpack + React 开发 01 HelloWorld

    1.项目依赖 安装所需要依赖的其它第三方开源库,项目依赖如下: "dependencies": { "babel-core": "^6.21.0&qu ...