处理静态文件,【Linux】nginx常用命令

1.Nginx的简短说明

  a.
 Nginx是三个高质量的HTTP和反向代理服务器,也是多少个IMAP/POP3/SMTP服务器,期初开发的目标正是为了代理电子邮件服务器室友:IgorSysoev开发,源代码符合BSD开源。其特征正是占据内部存款和储蓄器少并发能力强,在天朝使用Nginx的特大型网站已经有很多:百度、Taobao、腾讯等等…。

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

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

    b.2
无缓存的反向代理加速,不难的负荷均衡和容错

    b.3
模块化的结构,包涵gzipping,byte ranges,chunked
responses以及SSI-filter等filter,即便由法斯特CGI或别的代理服务器处理蛋液中留存的八个SSI,则那项处理能够并行运维,而不要求相互等待。

    b.4
支持SSL和TLSSNI。

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

  d.Nginx推荐学习网址:http://dreamfire.blog.51cto.com/418026/1140965

有关内容链接

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系统中,上传路径和软件如图所示:

    图片 1

  f.操作必要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp,以及地方的多少个包。

  
g.上面初阶遵循地点说的遵照顺序开首安装软件。

【Linux】nginx常用命令

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.假若没有报错,则评释安装完全形成了~。

【nginx】详细布署表达

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中没有,那么首先安装一下以此包音信即可,安装命令为:

    b.1  yum install -y gcc
gcc-c++

  c.当安装完上面包车型地铁c++包之后,在此运维,发现音讯一度彰显安装成功了,当基于上面包车型客车事物尽数装置完毕之后,就供给设置Nginx服务了。

1.Nginx的简易表达

  a.
 Nginx是二个高品质的HTTP和反向代理服务器,也是八个IMAP/POP3/SMTP服务器,期初开发的指标就是为着代理电子邮件服务器室友:伊戈尔Sysoev开发,源代码符合BSD开源。其特征就是占有内部存款和储蓄器少并发能力强,在天朝使用Nginx的大型网站已经有过多:百度、Tmall、腾讯等等…。

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

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

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

    b.3 模块化的构造,包含gzipping,byte ranges,chunked
responses以及SSI-filter等filter,假如由法斯特CGI或任何代理服务器处理蛋液中设有的八个SSI,则那项处理能够互相运转,而不须求互相等待。

    b.4 支持SSL和TLSSNI。

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

  d.Nginx推荐学习网址:http://dreamfire.blog.51cto.com/418026/1140965

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中从不,那么首先安装一下那些包新闻即可,安装命令为:

    b.1  yum install -y gcc
gcc-c++

  c.当安装完上面的c++包之后,在此运营,发现音讯一度呈现安装成功了。博文到那边要是设置的时候没有遭逢错误的话表达已经设置成功了,下边大家就是测试Nginx是还是不是安装成功。

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系统中,上传路径和软件如图所示:

    图片 2

  f.操作需求的软件以及系统如下:虚拟机(Vmware),虚拟机中设置的Centos系统,Xshell,Xftp,以及地点的多少个包。

   g.上面开端依据上边说的依据顺序起头设置软件。

6.监测Nginx是还是不是安装成功

  a.当上面包车型客车保有手续完毕今后,则印证Nginx安装已经成功,那么大家什么来分明是不是安装成功了吗?通过以下命令来分明即可。

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

    a.2 ./nginx -t

  b. 当自个儿执行第一个指令(./nginx
-t)的时候出错了,报没有权力的谬误。如图所示:

    图片 3

    备注:依据错误提示,大家就能够看出来,是说/usr/local/nginx下并未权限,化解办法也很不难,大家给文件赋值权限。

  c.如下图所示,配置权力(配置权力要求切换成root用户下)之后,执行上边多个步骤,假使linux中如下图所示:则印证安装已成功。

    图片 4

  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,那几个错误新闻提醒大家无法重新起动防火墙,那如何做吧?测试了一晃已写命令的章程去改变,发现更改成功了,如图所示:

      图片 5

  f.当上边的劳作形成未来,大家在外部浏览器中浏览:http://IP,出现如图所示,则说明安装已完全完成。

    图片 6

 

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.假使没有报错,则评释安装完全到位了~。

7.将Nginx设置为开机自动运维

 

  a.当上面6步完结之后,表明安装已经完全成功了,不过每一次开机大家面临的2个题材,就是历次都要执行命令(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还能够访问,则说明配置成功了,我这边已测试,配置完全成功。

 

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中绝非,那么首先安装一下以此包消息即可,安装命令为:

    b.1  yum install -y gcc gcc-c++

  c.当安装完上边的c++包之后,在此运转,发现音讯一度呈现安装成功了,当基于上边的事物尽数装置到位之后,就须要设置Nginx服务了。

8.应用server命令运营nginx服务

   a.
 未来认为运维命令太辛勤,尽管开机能够自运转,可是每便变更要重复启航nginx的话,要么输入指令,要么开机,都还不是很好,那么大家能还是不能够创设二个更好的法门呢?当然能够,大家能够因而设置System
V脚本。

  b.脚本代码如下所示:

图片 7图片 8

  1 #!/bin/sh 
  2 # 
  3 # nginx - this script starts and stops the nginx daemon 
  4 # 
  5 # chkconfig: - 85 15 
  6 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
  7 #   proxy and IMAP/POP3 proxy server 
  8 # processname: nginx 
  9 # config: /etc/nginx/nginx.conf 
 10 # config: /etc/sysconfig/nginx 
 11 # pidfile: /var/run/nginx.pid 
 12 # Source function library. 
 13 . /etc/rc.d/init.d/functions 
 14 # Source networking configuration. 
 15 . /etc/sysconfig/network 
 16 # Check that networking is up. 
 17 [ "$NETWORKING" = "no" ] && exit 0 
 18     nginx="/usr/local/nginx/sbin/nginx" 
 19     prog=$(basename $nginx) 
 20     NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
 21 [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
 22     lockfile=/var/lock/subsys/nginx 
 23  
 24 start() { 
 25     [ -x $nginx ] || exit 5 
 26     [ -f $NGINX_CONF_FILE ] || exit 6 
 27     echo -n $"Starting $prog: " 
 28     daemon $nginx -c $NGINX_CONF_FILE 
 29     retval=$? 
 30     echo 
 31 [ $retval -eq 0 ] && touch $lockfile 
 32     return $retval 
 33 } 
 34  
 35 stop() { 
 36     echo -n $"Stopping $prog: " 
 37     killproc $prog -QUIT 
 38     retval=$? 
 39     echo 
 40 [ $retval -eq 0 ] && rm -f $lockfile 
 41     return $retval 
 42     killall -9 nginx 
 43 } 
 44  
 45 restart() { 
 46     configtest || return $? 
 47     stop 
 48     sleep 1 
 49     start 
 50 } 
 51  
 52 reload() { 
 53     configtest || return $? 
 54     echo -n $"Reloading $prog: " 
 55     killproc $nginx -HUP 
 56     RETVAL=$? 
 57     echo 
 58 } 
 59  
 60 force_reload() { 
 61     restart 
 62 } 
 63  
 64 configtest() { 
 65     $nginx -t -c $NGINX_CONF_FILE 
 66 } 
 67  
 68 rh_status() { 
 69     status $prog 
 70 } 
 71  
 72 rh_status_q() { 
 73     rh_status >/dev/null 2>&1 
 74 } 
 75  
 76 case "$1" in 
 77     start) 
 78         rh_status_q && exit 0 
 79         $1 
 80     ;; 
 81     stop) 
 82         rh_status_q || exit 0 
 83         $1 
 84     ;; 
 85     restart|configtest) 
 86         $1 
 87     ;; 
 88     reload) 
 89         rh_status_q || exit 7 
 90         $1 
 91     ;; 
 92     force-reload) 
 93         force_reload 
 94     ;; 
 95     status) 
 96         rh_status 
 97     ;; 
 98     condrestart|try-restart) 
 99         rh_status_q || exit 0 
100     ;; 
101     *) 
102         echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
103         exit 2 
104 esac 

server命令的代码

  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 

     

    到此地大家那片笔记就成功了,能帮衬我们就帮到,帮不到大家,谢谢我们了,那只是读书笔记,不用较真有个别事物,谢谢~~~~

      前面有机会我还会再说这块的,怎么着将二个网站铺排到nginx下去~~~~

5.安装 Nginx服务

  a.命令简单如下:

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

    a.2   cd nginx-1.9.9/

    a.3  

./configure –prefix=/opt/soft/nginx
–with-pcre=/usr/local/src/pcre-8.38
–with-zlib=/usr/local/src/zlib-1.2.11
–with-openssl=/usr/local/src/openssl-1.1.0e

    a.4   make

    a.5   make install

6.监测Nginx是还是不是安装成功

  a.当上面的保有手续实现以往,则印证Nginx安装已经到位,那么大家什么来鲜明是或不是安装成功了吗?通过以下命令来鲜明即可。

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

    a.2 ./nginx -t

  b. 当自个儿执行第二个指令(./nginx
-t)的时候出错了,报没有权力的一无所能。如图所示:

    图片 9

    备注:根据错误提醒,大家就能够看出来,是说/usr/local/nginx下并未权限,消除办法也很简单,我们给文件赋值权限。

  c.如下图所示,配置权力(配置权力须要切换成root用户下)之后,执行上边多少个步骤,如果linux中如下图所示:则表明安装已成功。

    图片 10

  d.当确认安装到位之后,首先就必要运行和查阅Nginx默许安装的端口是多少,八个指令分别如下:

    (1)  ./nginx

    (2)  netstat -ntlp  ,  Nginx私下认可端口为80

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

  e.当上面包车型大巴干活做到之后,大家在外部浏览器中浏览:http://IP,出现如图所示,则说明安装已完全完成。

    图片 11

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的话,要么输入指令,要么开机,都还不是很好,那么大家能否创设3个更好的章程吗?当然能够,大家能够经过设置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 

server命令的代码

 

  c.创立命令如下,手先跳转到/etc/init.d下开创nginx运营脚本文件,命令如下;

    c.1 cd /etc/init.d/

    c.2 vim nginx
 创立2个新的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 

     

    到此地大家那片笔记就做到了,能帮忙大家就帮到,帮不到大家,多谢我们了,那只是读书笔记,不用较真某个事物,谢谢~~~~

相关文章