`
assen
  • 浏览: 62082 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

CentOS7编译安装nginx

阅读更多
安装好的操作系统是CentOS-7-x86_64-Minimal-1511,ngixn版本是nginx-1.10.1.tar.gz,见附件。

第一步
CentOS-7安装完后,神马也不用想,连接上服务器后,先用Xshell或者SecureCRT执行如下几个命令,后面在编译能nginx的时候系统会去检测这些,都是坑啊~~~
文件上传与下载:yum -y install lrzsz
程序包下载命令:yum -y install wget
perl语言的运行环境:yum -y install perl
C语言编译环境:yum -y install gcc gcc-c++(大多出需要编译的程序,或c语言的可执行程序都要需要这个环境)

第二步下载软件包
使用rz命令上传nginx-1.10.1.tar.gz包到/usr/local/src/目录并解压(命令:tar zxvf nginx-1.10.1.tar.gz),通常对于这类需要编译安装的程序建议放在此目录底下。下载各类所需软件包,见如下:
cd /usr/local/src/ &&
wget -ct 5 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz &&
wget -ct 5 http://www.openssl.org/source/openssl-1.0.1i.tar.gz &&
wget -ct 5 http://zlib.net/zlib-1.2.10.tar.gz &&
wget -ct 5 http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz &&
wget -ct 5 http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz &&
wget -ct 5 http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz &&
wget -ct 5 https://bitbucket.org/libgd/gd-libgd/downloads/libgd-2.1.0.tar.gz &&
wget -ct 5 http://download.osgeo.org/libtiff/tiff-4.0.3.tar.gz &&
wget -ct 5 ftp://ftp.simplesystems.org/pub/png/src/libpng16/libpng-1.6.28.tar.gz &&
wget -ct 5 http://www.ijg.org/files/jpegsrc.v9a.tar.gz &&
echo "下载完毕!


解压openssl-1.0.1i、pcre-8.39、zlib-1.2.10三个包,其他包暂时不用解压。
说明:第一行cd /usr/local/src/ 指的是这些包下载后的存放目录;上述文件里有两个ftp的文件下载,建议直接复制地址到浏览器下载后上传到/usr/local/src/目录,然后把上面带有ftp的两行删掉,因为在Xshell里执行这段命令的时候,ftp的文件下载不下来。

第三步编译nginx安装包
cd /usr/local/src &&
tar -zxvf  nginx-1.10.1.tar.gz &&
cd nginx-1.10.1 &&
./configure --prefix=/usr/local/mysoft/nginx \
--without-http_memcached_module \
--user=www \
--group=www \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-openssl=/usr/local/src/openssl-1.0.1i \
--with-zlib=/usr/local/src/zlib-1.2.10 \
--with-pcre=/usr/local/src/pcre-8.39 \
--with-http_stub_status_module \
--with-http_sub_module \

说明:
使用Xshell连接服务器根目录后,上述命令行中
cd /usr/local/src &&
tar -zxvf  nginx-1.10.1.tar.gz &&
cd nginx-1.10.1 &&
这一段用来指定到你待编译的nginx包目录,当然也可以先执行 cd usr/local/src/nginx-1.10.1直接定位到nginx解压包的目录,那么上述的编译代码变成如下简单形式:

./configure --prefix=/usr/local/mysoft/nginx \
--without-http_memcached_module \
--user=www \
--group=www \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-openssl=/usr/local/src/openssl-1.0.1i \
--with-zlib=/usr/local/src/zlib-1.2.10 \
--with-pcre=/usr/local/src/pcre-8.39 \
--with-http_stub_status_module \
--with-http_sub_module \

说明:
--prefix=/usr/local/mysoft/nginx  用来指定nginx需要安装到目录,和刚才解压的目录分开,通常情况自定义安装的程序包建议放在/usr/local/ 底下,这里我在该目录底下又建立了mysoft目录,再然后建立了nginx目录,用来和系统程序区分。
--with-openssl=/usr/local/src/openssl-1.0.1i \ 就是刚才第二步里面解压后的目录
--with-zlib=/usr/local/src/zlib-1.2.10 \同上
--with-pcre=/usr/local/src/pcre-8.39 \ 同上
这三个文件必须要,不然后面会出现坑的,你懂的~~~

回车执行玩命令之后,看下Xshell里有没有错,按照上述步骤下来应该不会有错~~。到此nginx编译检测已完成,接着就在刚才目录底下执行如下安装命令,网上也有把编译和安装的命令写在一起执行的,个人习惯分开来执行,清楚明了。
make && make install &&
echo "安装NGINX完毕!"

等待控制台显示“安装NGINX完毕”后,执行cd usr/local/mysoft/nginx 命令,去检查下该目录底下是否有文件,正常有4个目录文件夹,分别是conf、html、logs、sbin,到此nginx安装成功。

第四步设置启动脚本、启动Nginx:
Xshell进入系统根目录,执行如下命令 vi /etc/init.d/nginx,创建脚本,目录需指定到/etc/init.d/底下。脚本命令:
#!/bin/bash
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/mysoft/nginx/conf/nginx.conf
# pidfile: /usr/local/mysoft/nginx/logs/nginx.pid
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
. /etc/sysconfig/network
 
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/mysoft/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/mysoft/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx.lock
 
make_dirs() {
    # make required directories
    user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
    if [ -z "`grep $user /etc/passwd`" ]; then
    useradd -M -s /bin/nologin $user
    fi
    options=`$nginx -V 2>&1 | grep 'configure arguments:'`
    for opt in $options; do
    if [ `echo $opt | grep '.*-temp-path'` ]; then
    value=`echo $opt | cut -d "=" -f 2`
    if [ ! -d "$value" ]; then
    # echo "creating" $value
    mkdir -p $value && chown -R $user $value
    fi
    fi
    done
}
 
start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
 
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
 
restart() {
    #configtest || return $?
    stop
    sleep 1
    start
}
 
reload() {
    #configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}
 
force_reload() {
    restart
}
 
configtest() {
    $nginx -t -c $NGINX_CONF_FILE
}
 
rh_status() {
    status $prog
}
 
rh_status_q() {
    rh_status >/dev/null 2>&1
}
 
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
 
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac

说明:
#号开头的行只有三行是有用的,分别是:
#!/bin/sh
# checkconfig : 开头的行
# discription : 开头的行

# config: /usr/local/mysoft/nginx/conf/nginx.conf
# pidfile: /usr/local/mysoft/nginx/logs/nginx.pid
这两个配置指定到你nginx安装成功的目录文件夹位置,nginx.pid文件程序运行后产生

nginx="/usr/local/mysoft/nginx/sbin/nginx"
此配置指定到你nginx安装成功的目录文件夹位置

NGINX_CONF_FILE="/usr/local/mysoft/nginx/conf/nginx.conf"
此配置指定到你nginx安装成功的目录文件所在位置

lockfile=/var/lock/subsys/nginx.lock
此配置指定到系统的/var/lock/subsys/底下,nginx.lock自定义为这个

执行完之后,按ESC退出编辑环境,执行:wq  保存文件并退出vi。



第五步添加到服务
依次执行如下命令:
chmod a+x /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on
/etc/init.d/nginx start

全部设置完后建议重启一下服务器或者虚拟机。

最后使用命令:
$ service nginx start 
$ service nginx stop 
$ service nginx restart 
$ service nginx reload 
 
$ /etc/init.d/nginx start 
$ /etc/init.d/nginx stop 
$ /etc/init.d/nginx restart 
$ /etc/init.d/nginx reload

检验一下设置是否成功:
查询nginx进程:ps aux |grep nginx
查询服务器ip:ifcfg
linux的防火墙策略:iptables -L(iptables是防火墙,-L 是列出策略)
查询到服务器ip之后,复制ip地址到导航栏访问,若出现“Welcome to nginx!”的欢迎页面,表示nginx服务设置成功。



分享到:
评论

相关推荐

    centos7编译安装nginx

    centos7编译安装nginx

    Dockerfile 编译安装nginx

    Dockerfile 编译安装nginx FROM hub.c.163.com/netease_comb/centos:7 RUN yum install -y gcc gcc-c++ make openssl-devel pcre-devel #http://nginx.org/download/nginx-1.12.2.tar.gz ADD nginx-1.12.2....

    CentOS 7.0编译安装Nginx相关资源包

    本篇文章将详细介绍如何在CentOS 7.0系统上编译安装Nginx,以及涉及到的相关资源包——openssl、pcre和zlib。 首先,我们来看Nginx。Nginx以其高效的并发处理能力、低内存占用和丰富的模块支持著称。Nginx 1.6.0是...

    centos7编译安装nginx的方法步骤

    安装nginx编译所需的lib库 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel yum -y install pcre pcre-devel 查看pcre(正则库)版本 pcre-config --version 进入编译目录 cd /usr/...

    Centos7.9 离线安装Nginx依赖包

    5. pcre-devel和zlib-devel:这些是开发库,通常在编译Nginx时需要,用于链接对应的库。 在离线安装过程中,你需要确保收集到所有这些组件的RPM包。在描述中提到的压缩包"Centos7.9 离线安装依赖包-整理"应该包含了...

    centos7.5离线安装nginx1.17.8全套包.zip

    本压缩包“centos7.5离线安装nginx1.17.8全套包.zip”提供了在没有网络连接的情况下在CentOS 7.5上安装Nginx 1.17.8的所有必要文件和步骤。以下将详细介绍如何进行离线安装以及Nginx的一些核心概念。 1. **离线安装...

    centos7下安装nginx(有网以及没有网络)

    ### CentOS 7 下安装 Nginx (有网络与无网络环境) #### 一、概述 Nginx 是一款广泛使用的高性能 HTTP 和反向代理 Web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。其特点是占有内存少,并发能力强,事实上很多网站...

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    centos 非root安装nginx

    总结:在非root权限下安装Nginx,需要手动编译和配置所有依赖库,并指定安装路径。此外,由于没有权限设置系统服务,所以需要通过自定义脚本来启动和管理Nginx。这个过程虽然复杂,但在某些场景下,如共享主机环境,...

    Centos7环境下Nginx版本升级方式及步骤

    在CentOS7环境中,对Nginx进行版本升级是一个重要的任务,这可能是因为新版本提供了更多的功能、性能优化或安全修复。本篇文章将详细介绍两种在CentOS7上升级Nginx的方法:YUM upgrade和源码平滑升级,并提供相关的...

    Centos7.9安装zabbix6.0LTS版

    编译和安装 Nginx: ``` ./configure --prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/etc/nginx/nginx.conf \ --error-log-path=/usr/local/nginx/logs/error.log \ --...

    centos系统编译安装nginx+php环境另加独立mysql教程.docx

    安装Nginx,编译安装过程不再赘述,请参照之前的教程《CentOS编译安装Nginx+PHP-FPM+MySQL》中的Nginx安装部分。 知识点5:测试验证 安装完成后,在后端的MySQL中授予远程权限: ```sql GRANT ALL PRIVILEGES ON ...

    Centos7的nginx-1.24.0免编译包,直接解压修改配置文件,启动即可

    本资源提供的是 Nginx 的 1.24.0 版本,它是一个预编译好的二进制包,无需进行编译安装,简化了部署流程。 **安装与部署** 1. 首先,将提供的 `nginx.zip` 文件解压缩到你希望 Nginx 运行的目录下,例如 `/usr/...

    CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    2. 配置和编译Nginx,MySQL和PHP,以及它们各自的依赖项。 3. 设置必要的环境变量,例如`PATH`,以确保能够找到编译后的可执行文件。 4. 运行配置脚本,例如`./configure`,指定安装路径和所需的选项。 5. 使用`make...

    centos7离线安装nginx流媒体所有软件包集合

    总结来说,离线在CentOS 7上安装Nginx流媒体服务器涉及下载所有必要的依赖,编译和安装Nginx以及配置RTMP模块。这个资源包简化了这个过程,使你能够在没有网络连接的环境中搭建起支持RTMP的流媒体平台。同时,通过...

    centos7安装nginx1.16.1

    ### CentOS 7 安装 Nginx 1.16.1 #### 一、概述 本篇文章将详细介绍如何在 CentOS 7 上安装 Nginx 1.16.1 版本。Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的...

    Centos_6.3_编译安装Nginx+php+Mysql

    在CentOS 6.3系统中编译安装Nginx、PHP以及MySQL是一项涉及多个步骤的任务,包括系统配置、源码包的下载、安装必要的编译工具和依赖库、编译源码以及配置和启动服务。以下是根据提供的文件内容整理的知识点。 1. ...

    Centos7安装Nginx或OpenResty1

    总结,本文详细介绍了如何在 CentOS7 系统上安装 Nginx,包括安装依赖、编译安装、启动管理以及设置开机自启。理解并掌握这些步骤对于任何希望在 CentOS7 上部署 Nginx 的开发者都是至关重要的。对于 OpenResty 的...

Global site tag (gtag.js) - Google Analytics