header-bg.jpg
服务器LNMP环境升级日记零:源码编译安装 -- Nginx1.12.0
发表于 2017-04-18 12:43
|
分类于 Linux
|
评论次数 0
|
阅读次数 1194

一 修改主机名

[root@licong ~]# hostnamectl set-hostname licong     [修改完后重连即可看到效果]

二 安装EPEL源
EPEL即Extra Packages for Enterprise Linux,是基于Fedora的一个项目,为红帽系的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。EPEL为CentOS提供了额外的10000多个软件包,而且都不会更新或者替换系统本身组件。执行下面这条安装命令后,会在/etc/yum.repos.d目录下生成一个epel.repo文件。

[root@licong ~]# yum -y install epel-release

三 安装yum-axelget插件
yum-axelget是EPEL提供的一个yum插件。默认的yum是单线程下载的,使用该插件后用yum安装软件时可以并行下载。yum-axelget插件原理是调用系统中的axel下载软件,然后根据软件包的大小自动设定线程数。在多线程操作时,还能避免因为线程数过多而导致服务器拒绝下载的问题,大大提高了软件的下载速度,减少了下载的等待时间。注意:通过下面这条安装命令,会同时安装axel下载软件。

[root@licong ~]# yum -y install yum-axelget

四 更新CentOS源
在安装完EPEL源和yum-axelget插件后,我们就可以利用它们升级当前的CentOS了(耗时约3-5分钟)。
[root@licong ~]# yum clean all && yum makecache && yum -y update

然后可以使用下面两条命令查看当前CentOS的内核版本和发行版本信息。

查看内核版本
[root@licong ~]# cat /proc/version
Linux version 3.10.0-123.9.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Thu Nov 6 15:06:03 UTC 2014
查看发行版本
[root@licong ~]# yum install redhat-lsb-y    [安装redhat-lsb]

[root@licong ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.1.1503 (Core)
Release:        7.1.1503
Codename:       Core

五 依赖库配置,编译和安装Nginx1.12.0

先创建名为nginx的用户和名为nginx的用户组,然后安装nginx所需的依赖库和依赖包,最后通过.configure进行安装的详细配置。

新建nginx用户和nginx组
[root@licong ~]# groupadd -r nginx && useradd -r -g nginx -s /bin/bash -M nginx
yum安装nginx必须的依赖库
[root@licong ~]# yum -y install openssl openssl-devel libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed gcc gcc-c++
官网下载Nginx1.12.0的tar包,然后解压到服务器上
[root@licong ~]# wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
[root@licong ~]# tar -zxf nginx-1.12.0.tar.gz && cd nginx-1.12.0
下载pcre的tar包并解压,以便支持Nginx的Rewrite功能
[root@licong nginx-1.12.0]# wget -c https://github.com/SpanishOnion/MyLNMP/raw/master/package/Nginx/pcre-8.36.tar.gz && tar -zxf pcre-8.36.tar.gz
下载zlib的tar包并解压,以便支持Nginx的Gzip压缩功能
[root@licong nginx-1.12.0]# wget -c https://github.com/SpanishOnion/MyLNMP/raw/master/package/Nginx/zlib-1.2.8.tar.gz
[root@licong nginx-1.12.0]# tar -zxf zlib-1.2.8.tar.gz
新建Nginx1.12.0安装时所需要的目录
[root@licong nginx-1.12.0]# cd /var/tmp/ && mkdir -p /var/tmp/nginx/{client,proxy,fastcgi,uwsgi,scgi}
[root@licong tmp]# mkdir -p /var/run/nginx && cd ~/nginx-1.12.0
准备工作做好后,进入Nginx目录,开始正式配置Nginx的安装明细,注意:每行配置末尾以\结束 \后不能带有空格

[root@licong nginx-1.12.0]# ./configure \
--prefix=/usr/share/nginx \                              [Nginx安装目录]
--sbin-path=/usr/sbin/nginx \                           [Nginx的sbin目录]
--conf-path=/etc/nginx/nginx.conf \                    [Nginx的配置文件]
--error-log-path=/var/log/nginx/error.log \              [Nginx的错误日志]
--http-log-path=/var/log/nginx/access.log \                  [Nginx的访问日志]
--pid-path=/var/run/nginx/nginx.pid  \                       [Nginx的进程ID]
--lock-path=/var/lock/nginx.lock \
--user=nginx \                                       [Nginx所属用户]
--group=nginx \                                    [Nginx所属用户组]
--with-http_ssl_module \               [HTTPS协议所需Nginx的ssl模块,HTTP协议不配置]
--with-http_spdy_module \            [HTTPS协议所需Nginx的spdy模块,HTTP协议不配置]
--with-http_dav_module \
--with-http_flv_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_random_index_module \
--with-http_degradation_module \
--with-http_secure_link_module \
--with-http_gzip_static_module \                        [Nginx的gzip压缩模块]
--with-http_perl_module \
--with-pcre=pcre-8.36 \                           [pcre的安装目录]
--with-zlib=zlib-1.2.8 \                         [pcre的安装目录]
--with-debug \                                  [允许DEBUG]
--with-file-aio \
--with-mail \
--with-mail_ssl_module \
--http-client-body-temp-path=/var/tmp/nginx/client_body \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-stream \                                     [Nginx1.9.0版本以上特有的stream模块]
--with-ld-opt="-Wl,-E"                            [gcc的编译优化]
配置完成后执行make编译安装

[root@licong nginx-1.12.0]# make && make install

编译安装成功 如图所示:


六 配置Nginx,使之正常工作
成功安装Nginx1.12.0后,我们需要进行一些配置,设置开机启动。
上传Nginx服务控制脚本nginx至/etc/init.d/  并赋予执行权限 删除安装包 添加Nginx服务到开机启动

[root@licong ~]# mv ~/nginx /etc/init.d/nginx && chmod +x /etc/init.d/nginx            [移动nginx脚本文件至init.d]

[root@licong ~]# rm -rf nginx-1.12.0*            [删除Nginx安装包]

[root@licong ~]# chkconfig --add nginx            [添加nginx服务]

[root@licong ~]# chkconfig nginx on            [设置开机启动]

[root@licong ~]# ps -ef|grep nginx            [查看Nginx的进程]

[root@licong ~]# service nginx start           [启动Nginx]

[root@licong ~]# nginx -V                          [查看Nginx的详细信息]

七 测试Nginx是否能够正常访问

[root@licong nginx]# firewall-cmd --state         [查看防火墙运行状态]

[root@licong nginx]# systemctl stop firewalld.service     [若防火墙已开启 则运行该命令关闭防火墙]

[root@licong nginx]# systemctl disable firewalld.service     [禁止防火墙开机启动]

[root@licong nginx]# curl http://127.0.0.1        [使用curl连接本地Nginx测试是否能否访问]

最后用浏览器访问公网IP地址,如不能显示Nginx的欢迎页面,则需要确认服务器的端口是否打开,打开阿里云或腾讯云的控制台,查看服务器安全组中80端口是否开启,如未开启,则添加新规则,开启80端口,如下图所示:


开放端口之后再重启nginx 再次访问公网IP 即可看到Nginx的默认欢迎页面

[root@licong nginx]# service nginx restart

发布评论
还没有评论,快来抢沙发吧!