zoukankan      html  css  js  c++  java
  • 01-nginx介绍及编译安装

    第一天的时候学过apache,nginx和apache一样都是一个WEB服务器。也就是说你的网站之所以可以在网上运行,总得有一台机器在为你提供服务,这台机器就是服务器。这台服务器通过什么软件在为你提供服务?这种软件就叫做WEB服务器,专门提供网页或者说网站的这种服务的。常见的WEB服务器:apache,nginx,Lighttpd

    玩过windows 2003或者windows server的话,一定还记得有个IIS。nginx:轻量级、高性能的web服务器,份额已经超越了apache。nginx的特性使它受欢迎:轻量级、效率高,能扛住几万个大并发。

    最基本的:nginx的配置、应用  难一点:nginx的集群

    nginx不仅仅是能用在http服务器上,实际上邮件服务器IMAP/POP3/SMTP有很多都用它的。是一个俄罗斯团队开发的。俄罗斯人搞软件、搞破解很有一套。中国人破解的都是小软件,大软件windows xp是俄罗斯破解的。

    PHP 5.6.20提供的服务  Server:nginx/1.2.0

    编译apache有三步:config make make install

    mainline主线版 

    stable稳定版

    不图最新,尽量下稳定版

    [root@zhongzh-PC src]# cd nginx-1.4.7.tar.gz                     
    bash: cd: nginx-1.4.7.tar.gz: Not a directory                    
    [root@zhongzh-PC src]# cd nginx-1.4.7
    [root@zhongzh-PC nginx-1.4.7]# history -3
    bash: history: -3: invalid option       
    history: usage: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
    [root@zhongzh-PC nginx-1.4.7]# history -d 3
    [root@zhongzh-PC nginx-1.4.7]# history -d 3
    [root@zhongzh-PC nginx-1.4.7]# history
        1  yum install "@Chinese Support"
        2  yum install "@Chinese-Support"
        3  cd /mnt/cdrom                 
        4  ls                            
        5  cp VMwareTools-10.0.10-4301679.tar.gz /tmp
        6  cd /tmp/                                 
        7  tar zxvf VMwareTools-10.0.10-4301679.tar.gz
        8  cd vmware-tools-distrib                   
        9  ls                                        
       10  ./vmware-install.pl                       
       11  reboot                                    
       12  tar jxvf fcitx-3.1.1-bin.tar.bz2          
       13  cd /Desktop/                              
       14  cd /desktop/                              
       15  cd /home/new/Desktop                      
       16  cd ~/Desktop                              
       17  cd /home/Desktop                          
       18  cd /home/Desktop/                         
       19  cd /home/Desktop                          
       20  cd ~/Desktop                              
       21  tar jxvf fcitx-3.1.1-bin.tar.bz2          
       22  cd fcitx-3.1.1-bin                        
       23  cd fcitx-configtool-0.3.1                 
       24  ./fcitx.install                           
       25  ./install                                 
       26  ./configure --prefix=/opt/fictx           
       27  cd fcitx-3.1.1-bin                        
       28  mount /dev/cdrom /mnt                     
       29  vim /etc/yum.repos.d/rhel-local.repo      
       30  cd /mnt/                                  
       31  gcc ab.c                                  
       32  ./a.out                                   
       33  gcc ab.c                                  
       34  ./a.out                                   
       35  yum install im-chooser                    
       36  yum install ibus-pinyin                   
       37  yum groupinstall "Chinese Support"        
       38  cd /mnt/hgfs/                             
       39  cd /mnt                                   
       40  ls                                        
       41  cd hgfs/                                  
       42  ls                                        
       43  cd vmshare/                               
       44  ls                                        
       45  cd Downloads                             
       46  cd Downloads                              
       47  tar jxf codeblocks-16.01.el5.x86_64.tar.bz2
       48  cd epel-5                                 
       49  ./configure -prefix=/usr                  
       50  cd Downloads                              
       51  tar zxvf wxGTK-2.8.12.tar.gz              
       52  cd Downloads
       53  tar zxvf wxGTK-2.8.12.tar.gz
       54  cd wxGTK-2.8.12
       55  ./configure --enable-xrc --enable-monolithic --enable-unicode
       56  cd /opt
       57  tar -xvzf emacs-23.1.tar.gz
       58  cd emacs-23.1
       59  ./configure
       60  make
       61  make install
       62  cd /
       63  cd
       64  pkg-config -version
       65  yum install gtk2 gtk2-devel gtk2-devel-docs
       66  yum install gnome-devel gnome-devel-docs
       67  cd opt
       68  cd /opt
       69  tar.xjvf glibc-2.6.1.tar.bz2
       70  tar xjvf glibc-2.6.1.tar.bz2
       71  cd glibc-2.6.1
       72  ./configure --prefix=/usr
       73  ./configure --prefix=/usr/local/glibc-2.6.1/
       74  cd ../
       75  ./glibc-2.6.1/configure --prefix=/usr/local/glibc-2.6.1/
       76  [root@zhongzh-PC opt]# ./glibc-2.6.1/configure --prefix=/usr/local/glibc-2.6.1/
       77  checking build system type... x86_64-unknown-linux-gnu
       78  cd /usr/local/src/
       79  ls
       80  wget http://nginx.org/download/nginx-1.4.7.tar.gz
       81  ls
       82  tar zxvf nginx-1.4.7.tar.gz
       83  cd nginx-1.4.7.tar.gz
       84  cd nginx-1.4.7
       85  history -3
       86  history -d 3
       87  history
    [root@zhongzh-PC nginx-1.4.7]# clear

    接下来老三步:config make  make install,但是它有时候会缺少某个库。

    [root@zhongzh-PC nginx-1.4.7]# ./configure --prefix=/usr/local/nginx  会检测有没有缺少哪些库

    重写模块。重写是伪静态时必须用到的一个玩意,不可或缺的。PCRE库其实就是正则表达式的库,没有正则表达式无法重写。重写全靠正则表达式。


    一边提示缺少pcre库,一边却提示已安装pcre。

     error256

    [InstallMedia]

    mediaid=1285193176.460470

    metadata_expire=-1

    cost=500

    解决思路:

    1:执行yum clean all 清除缓存目录下的软件包及旧的headers;

    2:接着执行 yum list 重新列出所有已经安装和可以安装的软件包;

    3:重新执行上述命令,发现yum编译成功;

    注意:如果执行 yum list 报错,那就检查一下yum仓库是否有问题;并清除/etc/yum.repos.d/下多余.repo文件!

    删除/etc/yum.repos.d/packagekit-media.repo

    yum install安装不了pcre-devel是因为yum源有问题,清空yum之后如果执行yum list出错,那就看另外一篇博客 

    RedHat Linux设置yum软件源为本地ISO

     

    来看怎么解决这个问题。


    光装pcre的二进制包还不行,还得装pcre的头文件。你还得装上pcre-devel。装了pcre-devel之后重新执行./configure --prefix=/usr/local/nginx

    还是报错了

    yum install zlib

    同理可得,去安装zlib-devel

    安装zlib-devel成功之后,再次执行./configure --prefix=/usr/local/nginx

    config成功!

    接下来make和make install就行了

    nginx比apache小多了,make和make install比较快。编译时间比apache小多了。所以它的体积比较小,轻量级嘛。运行速度以及变化性都很强。编译时间大概十几秒钟吧。

    /usr/local/路径下确实已经有了nginx

    要启动当然得找二进制的东西:sbin

    启动出错了。

    但是nginx确实是启动了,虽然只是子进程启动了,主进程并没有启动。

    另外,打开浏览器,访问127.0.0.1,如过你是远程访问的服务器或者虚拟机,使用对应的IP地址。nginx默认的端口号设置就是80。

    查看80号端口被什么程序占用,是不是nginx


    nginx的安装还是很简单的,和编译apache一样,如何重启和看它的日志呢?如何控制它?

  • 相关阅读:
    信息安全学习笔记1
    Linux学习笔记4------磁盘分区(问答形式)
    Linux学习笔记3-------添加磁盘并分区
    用for循环打印三角形
    包机制
    运算符
    变量、常量、作用域
    数据类型转换
    数据的基本类型
    Java运行原理的简单理解
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6496340.html
Copyright © 2011-2022 走看看