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一样,如何重启和看它的日志呢?如何控制它?
01-nginx介绍及编译安装的更多相关文章
- Nginx 之一:编译安装nginx 1.8.1 及配置
一:基介绍 官网地址www.nginx.org,nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间 ...
- Nginx服务及编译安装
第1章 Nginx 1.1 nginx的概念 Nginx("engine x")是一个开源的.支持高性能.高并发的WWW服务和代理服务软件,具有高开发(特别是静态资源),占用系统资 ...
- Nginx实践01-ngnix编译安装-测试
1.下载nginx安装包 下载地址:http://nginx.org/en/download.html(里面有nginx各个版本) 解压到指定目录: 解压出来的目录简单介绍: src:软件的所有源代码 ...
- nginx配合zabbix编译安装时web下一步跳转问题
很多时候编译安装的时候把zabbix的php包拷贝到web所在目录之后(本文为nginx所在html目录),网页打开http:/localhost/zabbix却进不去下图: 或者是点了下一步没反应, ...
- mac下Nginx+lua模块编译安装
Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...
- Nginx PHP MySql 编译安装
以CentOS5.6为平台编译安装.确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: auto ...
- nginx入门之编译安装
nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...
- centos 下nginx源码编译安装
1.下载nginx 进入nginx官网下载nginx的稳定版本,我下载的是1.10.3. 下载:wget http://nginx.org/download/nginx-1.10.3.tar.gz 解 ...
- nginx软件的编译安装步骤
1.1 检查软件安装的系统环境 [root@web02 conf]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@web02 co ...
- Nginx源码编译安装选项
[Nginx源码编译过程] make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. configu ...
随机推荐
- CF 360E Levko and Game——贪心
题目:http://codeforces.com/contest/360/problem/E 官方题解与证明:http://codeforces.com/blog/entry/9529 一条可以调整的 ...
- 自定义元素(custom elements)
记录下自定义html自定义元素的相关心得: 浏览器将自定义元素保留在 DOM 之中,但不会任何语义.除此之外,自定义元素与标准元素都一致 事实上,浏览器提供了一个HTMLUnknownElement, ...
- VB.NET实现32位、64位远线程运行ASM,注入非托管、托管DLL
这是一个老话题,远线程函数给我们提供了机会在其他进程中启动一个新线程,所以我们可以做很多事情.但事情远远没有结束,如果我们要做的事情非常复杂,那么将面临编写大量的ASM代码,虽然我们可以用VC之类的工 ...
- GOF23设计模式之模板方法模式(template method)
一.模板方法模式概述 模板方法模式是编程中经常使用的模式.它定义了一种操作中的算法架构,将某些步骤延迟到子类中实现.这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤. (1) ...
- android图片优化
/1.不要将Button的背景设置为selector 如果是将Button的背景设置为selector,在初始化Button的时候会将正反选图片都加载在内存中,相当于一个按钮占用了两张相同大小图片所使 ...
- map.js
function Map() { var struct = function(key, value) { this.key = key; this.value = value; } var put = ...
- jq 全选
$(".checkall").change(function(){ if($(this).is(":checked")){ $(".checkchil ...
- 初学java记录
记录一: if语句: if(x < y) System.out.println("x is less than y"); 记录二: 强制转换字符类型赋值的方法: num2= ...
- jredis 客户端 使用
redis学习及实践3---Jedis.JedisPool.Jedis分布式实例介绍 Java中使用Jedis操作Redis Redis客户端:Jedis
- 业务SQL优化
1,个人开户报表统计 优化前语句,执行时间80多秒 SELECT a.DA AS f_da, a.account_name AS f_account_name, a.sex AS f_sex, a.n ...