详解Linux(Centos)之安装Nginx及注意事项

1.Nginx的简单说明

a.  Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,期初开发的目的就是为了代理电子邮件服务器室友:Igor Sysoev开发,源代码符合BSD开源。其特点就是占用内存少并发能力强,在天朝使用Nginx的大型网站已经有很多:百度、淘宝、腾讯等等...。

b.Nginx作为Http服务器,有以下几项基本特征:

  b.1 处理静态文件,索引文件以及自动索引,打开文件描述符缓冲。

  b.2 无缓存的反向代理加速,简单的负载均衡和容错

  b.3 模块化的结构,包括gzipping,byte ranges,chunked responses以及SSI-filter等filter,如果由FastCGI或其它代理服务器处理蛋液中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。

  b.4 支持SSL和TLSSNI。

c.Nginx官网:http://nginx.org/

2.准备工作

a.上面简单介绍了一下Nginx,大家如果想要了解更多关于Nginx的知识,请自行通过网络学习。

b.工欲善其事必先利其器,下面我们就在Linux下面简单安装一下Niginx,在安装过程中需要了一些问题,同步都会在博客中说出来。

c.Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,安装顺序为我写的顺序:

  c.1 SSL功能需要openssl库,下载地址:http://www.openssl.org/

  c.2 gzip模块需要zlib库,下载地址:http://www.zlib.net/

  c.3 rewrite模块需要pcre库,下载地址:http://www.pcre.org/

d.Nginx的安装包:下载地址为:http://nginx.org/en/download.html

e.将上面下载的几个软件全部使用Xftp上传到Linux系统中,上传路径和软件如图所示:

    

f.操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp,以及上面的几个包。

g.下面开始按照上面说的按照顺序开始安装软件。

3.安装SSL功能需要openssl库以及gzip模块需要的zlib库

a(1).首先我们安装SSL功能需要的openssl库插件,注意:安装过程是按照我在linux下设置的文件路径来安装的,命令如下:

  a.1   tar -zxvf  soft/openssl-SNAP-20160104

  a.2   cd cd openssl-SNAP-20160104/

  a.3   ./config

  a.4   make

  a.5   make install

b(1).安装gzip模块需要zlib库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:

  b.1   tar -zxvf  soft/openssl-SNAP-20160104

  b.2   cd openssl-SNAP-20160104/

  b.3   ./configure

  b.4   make

  b.5   make install

b.如果没有报错,则说明安装完全完成了~。

4.安装 rewrite模块需要pcre库

a.安装 rewrite模块需要pcre库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:

  a.1   tar -zxvf soft/pcre-8.38.tar.gz

  a.2   cd pcre-8.38/

  a.3   ./configure

  a.4   make

  a.5   make install

b.在执行./configure的出现错误了,导致不能继续往下执行,报错内容为:

error: You need a C++ compiler for C++ support,看到这句话我们就已经猜到了应该是c++包信息,而linux中没有,那么首先安装一下这个包信息即可,安装命令为:

yum install -y gcc gcc-c++

c.当安装完上面的c++包之后,在此运行,发现消息已经显示安装成功了,当基于上面的东西全部安装完成之后,就需要安装Nginx服务了。

5.安装 Nginx服务

a.安装 rewrite模块需要pcre库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:

  a.1   tar -zxvf soft/nginx-1.9.9.tar.gz

  a.2   cd nginx-1.9.9/

  a.3   ./configure --with-pcre=../pcre-8.38/ --with-zlib=../zlib-1.2.8/ --with-openssl=../openssl-SNAP-20160104/

  a.4   make

  a.5   make install

b.在执行./configure的出现错误了,导致不能继续往下执行,报错内容为:

error: You need a C++ compiler for C++ support,看到这句话我们就已经猜到了应该是c++包信息,而linux中没有,那么首先安装一下这个包信息即可,安装命令为:

 yum install -y gcc gcc-c++

c.当安装完上面的c++包之后,在此运行,发现消息已经显示安装成功了。博文到这里如果安装的时候没有遇到错误的话说明已经安装成功了,下面我们就是测试Nginx是否安装成功。

6.监测Nginx是否安装成功

a.当上面的所有步骤完成之后,则说明Nginx安装已经完成,那么我们如何来确定是否安装成功了呢?通过以下命令来确定即可。

  a.1  cd /usr/local/nginx/sbin/

  a.2 ./nginx -t

b. 当我执行第二个命令(./nginx -t)的时候出错了,报没有权限的错误。如图所示:

备注:根据错误提示,我们就能够看出来,是说/usr/local/nginx下没有权限,解决办法也很简单,我们给文件赋值权限。

c.如下图所示,配置权限(配置权限需要切换到root用户下)之后,执行上面两个步骤,如果linux中如下图所示:则说明安装已成功。

    

d.当确认安装完成之后,首先就需要启动和查看Nginx默认安装的端口是多少,两个命令分别如下:

(1)  ./nginx

(2)  netstat -ntlp  ,  Nginx默认端口为80

e.开放80端口,让其外部环境可以访问(如果不开放80端口,外部环境访问不了),命令以及截图如下:

vim /etc/sysconfig/iptables

备注:这里我使用vim更改防火强信息之后,在重新启动防火墙的时候出现了错误,错误信息为:Try `iptables-restore -h' or 'iptables-restore --help' for more information,这个错误信息提示我们不能重新启动防火墙,那怎么办呢?测试了一下已写命令的方式去更改,发现更改成功了,如图所示:

      

f.当上面的工作完成之后,我们在外部浏览器中浏览:http://IP,出现如图所示,则说明安装已完全完成。

7.将Nginx设置为开机自动启动

a.当上面6步完成之后,说明安装已经完全成功了,但是每次开机我们面临的一个问题,就是每次都要执行命令(1: cd /usr/local/nginx/sbin/   2:./nginx -t),那么这时候有这个需要,设置开机自启动,开机自动启动的命令为:将Nginx的启动命令添加到/etc/rc.local,命令如下:

echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local

b.然后将Linux关机重启测试一下,如果http://IP还能够访问,则说明配置成功了,我这边已测试,配置完全成功。

8.使用server命令启动nginx服务

a.  现在觉得启动命令太麻烦,虽然开机可以自启动,但是每次改动要重新启动nginx的话,要么输入命令,要么开机,都还不是很好,那么我们能不能创造一个更好的方式呢?当然可以,我们可以通过设置System V脚本。

b.脚本代码如下所示:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
#  proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/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/nginx/sbin/nginx"
  prog=$(basename $nginx)
  NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
  lockfile=/var/lock/subsys/nginx 

start() {
  [ -x $nginx ] || exit 5
  [ -f $NGINX_CONF_FILE ] || exit 6
  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
  killall -9 nginx
} 

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

c.创建命令如下,手先跳转到/etc/init.d下创建nginx启动脚本文件,命令如下;

  c.1 cd /etc/init.d/

  c.2 vim nginx  创建一个新的nginx文件,将上面的命令代码copy到里面,然后保存

d.修改脚本权限,命令如下:chmod 755 nginx

e.将脚本文件加入到chkconfig中  chkconfig --add nginx

f.设置nginx开机在3和5级别自动启动  chkconfig --level 35 nginx on

g.测试nginx脚本文件是否能够正常使用,命令如下,我均已测试,全部可以使用。

  g.1  /etc/init.d/nginx restart

  g.2  /etc/init.d/nginx reload

  g.3   /etc/init.d/nginx stop     

到这里我们这片笔记就完成了,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 在Linux和Windows系统上安装Nginx服务器的教程

    1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RPM 包版本较低.如果需要更新版本,可以使用官方制作的 rpm 包,或者使用源码包编译安装. 还可以使用一些二次开发功能增强的 nginx 版本,例如淘宝的 Tengine 和 OpenResty 都是不错的选择. 1.1 常用编译参数 --prefix=PATH:指定 nginx 的安装目录     --conf-path=PATH:指定 nginx.conf

  • linux系统安装Nginx Lua环境

    亦可参考官方安装指南: lua-nginx-module Installation 这是我总结的安装,供参考: 需要最新版的Nginx,LuaJIT,ngx_devel_kit,lua-nginx-module等安装文件: Nginx LuaJIT Lua或者LuaJIT都是可以的,但是出于性能的考虑,推荐安装LuaJIT ngx_devel_kit lua-nginx-module 参考命令下载: $ curl -O http://nginx.org/download/nginx-1.10.1

  • linux下安装nginx(图文教程)

    Nginx是一款轻量级的Web 服务器.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.以下主要介绍linux下安装nginx. linux系统为Centos 64位 简介 一.Linux安装软件常用方法 1.rpm(或pkg)安装,类似于Windows安装程序,是预编译好的程序. 使用的是通用参数编译,配置参数不是最佳 可控制性不强,比如对程序特定组件的定制性安装 通常安装包间有复杂依赖关系,操作比较复杂 安装简单,出错机率低 2.yum(或apt

  • Linux 安装nginx服务器详细介绍

    nginx依赖一些软件库,在安装之前请确保系统安装了gcc.ssl.pcre和gzip等软件,可以用rpm -q 命令查看软件是否安装. [root@RedHat1 ~]# rpm -q gcc gcc-4.1.2-44.el5 依赖库信息如下: (1). gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ ) (2). rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/) (3). ssl 功能需要 openssl

  • PHP程序员玩转Linux系列 Linux和Windows安装nginx

    PHP程序员玩转Linux系列文章: 1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 如何以最简单的方式安装nginx,我在查找了N多方法只后,发现还是nginx官网的方法最简单啊.在此我也来搬运一下官网的安装方式 在CentOS中安装nginx 当然是以包的

  • Linux 6下安装编译安装Nginx的步骤

    Linux 6下安装编译安装Nginx的步骤 前言: Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一.能够支持高达50,000个并发连接数的响应,而且内存开销极小.这也是Nginx广受欢迎的重要原因.本文演示了基于Linux 6下编译安装Nginx,供大家参考. 一.安装环境 # cat /etc/issue Red Ha

  • Linux下yum安装nginx教程

    本文教程为大家分享了Linux下yum安装nginx的详细过程,供大家参考,具体内容如下 第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim nginx.repo 填写如下内容: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 保存,则会产

  • 详解Linux(Centos)之安装Nginx及注意事项

    1.Nginx的简单说明 a.  Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,期初开发的目的就是为了代理电子邮件服务器室友:Igor Sysoev开发,源代码符合BSD开源.其特点就是占用内存少并发能力强,在天朝使用Nginx的大型网站已经有很多:百度.淘宝.腾讯等等.... b.Nginx作为Http服务器,有以下几项基本特征: b.1 处理静态文件,索引文件以及自动索引,打开文件描述符缓冲. b.2 无缓存的反向代理加速,简单的负载均衡和容错

  • 详解linux centos yum安装LAMP环境

    系统:centos 6.5 1.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭了,yum只需要3个命令就可以完成,源代码需要13个包,还得加压编译,步骤很麻烦,而且当做有时候会出错,源代码编译安装大概需要2个小时,好处在于可以自己配置地址等一些参数,yum安装半个小时搞定,一般不会出错,更新也很方便. 2.我的机器是centos release 5.9 64为的系统,一般机器都带yum命令,并且yum包源都是可以用的,就是说不用你自己下载东西,直接yum -y instal

  • 详解linux 定时任务 crontabs 安装及使用方法

    安装 crontab yum install crontabs centos7 自带了我没有手动去装 启动/关闭 service crond start // 启动服务service crond stop // 关闭服务service crond restart // 重启服务service crond reload // 重新载入配置 查看 crontab 服务是否已设置为开机启动 systemctl list-unit-files | grep enable | grep crond 将 c

  • 详解linux 使用docker安装mongodb方法

    1.xshell远程到一台安装了docker和docker-conpose的服务器(安装方法见其他学习文件) 2.到home目录下新建Mongotest文件夹,进入这个文件夹,执行vi docker-compose.yml,插入如下内容 ,退出并保存 3.执行docker-compose up -d 然后添加防火墙:firewall-cmd --add-port=27017/tcp --permanent 重启防火墙:firewall-cmd --reload 4.查看进程 docker ps

  • 详解基于CentOS 7配置Nginx自启动

    Nginx是广为流行的轻量级Web服务器软件.它开源,短小精悍,简单易用,深受广大互联网企业以及IT运维人员所喜爱.很多时候,我们在生产环境基于编译方式安装Nginx后,Nginx需要手工配置自启动服务,以确保服务器异常宕机后自动重启该服务.以下描述的是基于CentOS 7下来配置自启动服务,供大家参考. 一.yum 安装方式Nginx自启动 当前环境 [root@node142 ~]# more /etc/redhat-release CentOS Linux release 7.2.1511

  • 详解Linux 操作系统下安装rpm包的方法步骤

    第2代Linux操作系统在安装软件方面相当简单:第一步,搜索你要的软件,比如你要找一个游戏软件,它的名称叫myward,这个游戏软件的说明是:myown war game.Linux操作系统搜索这个软件包就只需要输入命令apt-cache searchmyward,或者输入软件名称的一部分apt-cache searchwar,或者你不知道软件名称. 下面有一张图可以清晰地表示linux软件应用的架构关系: 在Linux启动的时候.首先会启动内核(kernel),内核是一段计算机程序,这个程序直

  • 详解Linux(centos7)下安装OpenSSL安装图文方法

    OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法. 安装环境:  操作系统:CentOs7安静 OpenSSL Version:openssl-1.0.2j.tar.gz 目前版本最新的SSL地址为http://www.openssl.org/source/openssl-1.0.2j.tar.gz 1.将下载的压缩包放在根目录, 2.在文件夹下解压缩,命令:tar -xzf ope

  • 详解Linux环境下使Nginx服务器支持中文url的配置流程

    1:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 2:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; charset utf-8; } 如果是用securecrt 上传文件,请选

  • 详解Linux Centos7下安装Python的方法

    1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Python: 然后查看一下Python可执行文件的位置: 进入到bin目录: 可以看到可执行文件python指向python2,python2又指向python2.7也就是说Python命令执行的系统预装的Python2.7. 要安装Python的其他版本先执行mv python python.bak命令备

  • 详解linux下redis安装、启动与停止,redis做成服务

    如果的Linux可以链接网络,那么可以直接联网下载.直接输入代码: wget http://Redis.googlecode.com/files/Redis-3.0.2.tar.gz 但是不建议这么做,因为google再中国的服务好像被封了,可能会链接不上.所以我们直接去其他地方下载,然后上传到Linux服务上.这里我下载了redis-3.0.2.tar.gz 版本.然后使用tar -zxvf redis_3.0.2.tar.gz 我们会看到在该目录下多了一个文件,redis-3.0.2 , 我

随机推荐