第一天的时候学过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一样,如何重启和看它的日志呢?如何控制它?

01-nginx介绍及编译安装的更多相关文章

  1. Nginx 之一:编译安装nginx 1.8.1 及配置

    一:基介绍 官网地址www.nginx.org,nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间 ...

  2. Nginx服务及编译安装

    第1章 Nginx 1.1 nginx的概念 Nginx("engine x")是一个开源的.支持高性能.高并发的WWW服务和代理服务软件,具有高开发(特别是静态资源),占用系统资 ...

  3. Nginx实践01-ngnix编译安装-测试

    1.下载nginx安装包 下载地址:http://nginx.org/en/download.html(里面有nginx各个版本) 解压到指定目录: 解压出来的目录简单介绍: src:软件的所有源代码 ...

  4. nginx配合zabbix编译安装时web下一步跳转问题

    很多时候编译安装的时候把zabbix的php包拷贝到web所在目录之后(本文为nginx所在html目录),网页打开http:/localhost/zabbix却进不去下图: 或者是点了下一步没反应, ...

  5. mac下Nginx+lua模块编译安装

    Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...

  6. Nginx PHP MySql 编译安装

    以CentOS5.6为平台编译安装.确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: auto ...

  7. nginx入门之编译安装

    nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...

  8. centos 下nginx源码编译安装

    1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...

  9. nginx软件的编译安装步骤

    1.1 检查软件安装的系统环境 [root@web02 conf]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@web02 co ...

  10. Nginx源码编译安装选项

    [Nginx源码编译过程] make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. configu ...

随机推荐

  1. nginx ngscript 简单使用

    备注: 默认没有集成到nginx包里,需要单独安装(推荐使用动态模块的方式进行安装) 1. 安装 wget https://nginx.org/download/nginx-1.13.11.tar.g ...

  2. lapis docker 运行说明

    1. lapis docker 镜像制作 因为openresty 新版本一个json 库的问题,我们使用的是 openresty:1.11.2.1 基础镜像 FROM openresty/openre ...

  3. [LeetCode系列]N皇后问题递归解法 -- 位操作方式

    N皇后问题: 给定8*8棋盘, 放置n个皇后, 使其互相不能攻击(即2个皇后不能放在同一行/列/正反对角线上), 求解共有多少种放置方式? 这个问题的解答网上有不少, 但是位操作解法的我看到的不多. ...

  4. 【转】linux中shell变量$#,$@,$0,$1,$2的含义解释

    原文网址:http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html linux中shell变量$#,$@,$0,$1,$2的含义解释: ...

  5. laravel的phpstorm插件laravel-ide-helper

    地址https://github.com/barryvdh/laravel-ide-helper 简单记录下安装过程 项目目录下 composer require barryvdh/laravel-i ...

  6. Linux:WebServer(Nginx 虚拟主机配置与伪静态实现)

    ps + 查看方式  |  grep  +  服务/端口/软件等:查看状态: 一.基本操作 Nginx 多用于商业系统: 一个端口只能被一个服务使用: Nginx 可以同时监听多个端口,也就是配置时, ...

  7. charles 设置弱网测试

    Charles简介:Charles支持抓去http.https协议的请求,不支持socket. 然后charles会自动配置IE浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了. 这里打开 ...

  8. Thread之五:线程的优先级

    Java线程可以有优先级的设定,高优先级的线程比低优先级的线程有更高的几率得到执行(不完全正确,请参考下面的“线程优先级的问题“). 记住当线程的优先级没有指定时,所有线程都携带普通优先级. 优先级可 ...

  9. 自己设计代理IP池

    大体思路 使用redis作为队列,买了一份蘑菇代理,但是这个代理每5秒可以请求一次,我们将IP请求出来,从redis列表队列的左侧插入,要用的时候再从右侧取出,请求成功证明该IP是可用的,将该代理IP ...

  10. AbstractQueuedSynchronizer原理分析

    AbstractQueuedSynchronized 以下简称AQS,是用来构建锁或者其他同步组件的基础框架. 在AQS中,为锁的获取和释放提供了一些模板方法,而实现锁的类(AQS的子类)需要实现这些 ...