Nginx 一、安装简介
一、集群
作为一名IT的开发人员,可能每个人都对集群这个词很崇拜。发布网站,相对于大一点的门户网站,可能一台服务器不能满足企业的要求你,就更不用说提高用户的体验了。为了提高服务器的相应速度、用户体验,很多大型企业都采用集群这种方式来应对每天的高访问、高请求和高可用性。 在开源的世界中,适合做集群的工具有 Apache、nginx、hadoop 等都是家喻户晓的。尤其是hadoop,就是为了集群、大数据而生的。但是相对于有一些技术人员,hadoop学习成本可能有一点高。那就剩下了Apache和nginx了。从网上找了资料,看到在配置方面,nginx比Apache要简单容易操作的多。最主要的是它能以很小的资源消耗完成较大规模得并发。通俗一点就是性价比高一些啦。
此外,集群并不是简简单单的将几个机器用网线连接起来就算作集群了,他们有各自的分工 比如有专门处理逻辑的应用服务器、 存储数据的数据库服务器、存储文件的文件服务器,进行内存管理的内存服务器等等。规模小的三四台机器,大的就是谷大哥的机房了,几万台机器不等。这个已经超出了我目前的认知范围。需要以后学习去了解
二、nginx的在centos上面的安装
-->unzippcre-8.32.zip
-->cd pcre-8.32
-->./configure
-->make
-->make install
2、创建www用户组和www用户,并创建/home/www目录
-->groupadd www
-->useradd -g www -s/sbin/nologin -M www
-->mkdir /home/www
-->chown -R www:www/home/www
创建用户是为了确定启动nginx的用户的。在安装nginx 的时候用的到的。
-->tarzxvf nginx-1.4.1.tar.gz
-->tar zxvfngx_cache_purge-2.1.tar.gz
-->cd nginx-1.4.1
-->./configure--user=www --group=www --add-module=../ngx_cache_purge-2.1--prefix=/home/server/nginx-1.4.1 --with-http_stub_status_module--with- http_realip_module --with-http_addition_module--with-http_gzip_static_module --with-http_random_index_module--with-http_sub_module --with-http_dav_module
-->make
-->make install;
prefix参数是nginx的安装位置,with-http_stub_status_module是打开status模块(查看nginx当前状态)
http_realip_module 作为代理服务器时,服务端可获取到用户真实的IP
http_addition_module 可在响应前后添加一个过滤器
http_gzip_static_module 预压缩文件传前检查,防止文件被重复压缩
http_random_index_module 随机主页
如果在指定的location中指定,将为每一个请求扫描指定目录中的文件,并且随机选择一个代替index.html,但是不会选择以“.”开头的文件。
http_sub_module 反向代理时替换URL
http_dav_module 开启WebDAV扩展动作模块,可为文件和目录指定权限
以上模块根据自己需要添加,官方模块列表:http://wiki.nginx.org/Modules
修改nginx.conf配置:
vi /home/server/nginx-1.4.1/conf/nginx.conf
头部添加
user www www;
启动nginx:
/home/server/nginx-1.4.1/sbin/nginx
这个时候,一般会报错,提示:(64位下可能会报错,32位的可能就不会报错了)
error while loading sharedlibraries: libpcre.so.1: cannot open shared object file: No such file ordirectory
建立链接:
32位系统:
ln -s /usr/local/lib/libpcre.so.1/lib
64位系统:
ln -s/usr/local/lib/libpcre.so.1 /lib64
启动
启动
安装完成之后,nginx默认的是80端口,启动之后,直接访问自己的端口,会出现 nginx的欢迎界面。说明你的nginx安装就成功了,剩下的就是nginx的配置了,这说明你要开始踏上集群道路了,这才只是刚刚开始,后面的路还很长呢。希望能跟各位成为朋友。
QQ:316048157 技术交流群:214077516 希望能够跟各位直通道和的人成为朋友,一起讨论技术
安装时可能遇到的错误:
在安装nginx的时候,在最后一步,可能启动不起来报错,错误信息为
忘了
如果不能正常启动的话,可能是因为服务器为64位的操作系统,查找一个名字为libpcre包再默认的路径下面没有找到。具体情况可以使用
#ldd $(which /usr/loca/nginx/sbin/nignx);
来查看。如图:
linux-gate.so.1 =>(0x009a9000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00e13000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x0027e000)
libpcre.so.1 => notfound
libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x002ae000)
libz.so.1 => /lib/libz.so.1 (0x00d54000)
libc.so.6 => /lib/libc.so.6 (0x005e9000)
/lib/ld-linux.so.2 (0x00583000)
libfreebl3.so => /lib/libfreebl3.so (0x00110000)
libdl.so.2 => /lib/libdl.so.2 (0x008e9000)
发现一个叫做 libpcre.so.1 的一个pcre文件没有找到。由于系统是64为的,如果pcre文件安装的话,默认的会在 /usr/lib64 里面,所,需要进入到 /usr/lib64 里面
#cd /usr/lib64
#ls
#ls *libpcre*
找到libpcre的包,看名字就知道不是为 libpcre.so.1 ,这个时候需要建立一个连接。
#ln –s libpcre.solibpcre.so.1;
建立完成后,再次重新启动,就应该没有问题了。
在安装的时候,有的时候会报错,错误信息如下:
make -f objs/Makefile
make[1]: Entering directory`/home/dg/nginx/nginx-1.4.4'
cd /home/dg/nginx/pcre-8.32/ \
&& if [ -f Makefile ]; then make distclean; fi \
&& CC="cc" CFLAGS="-O2 -fomit-frame-pointer -pipe" \
./configure --disable-shared
make[2]: Entering directory`/home/dg/nginx/pcre-8.32'
看到内容才知道,在安装的时候,需要制定pcre,而 with-pcre=source 需要自己制定的是源代码的路径,也就是压缩包解压之后获得的源代码,而不是进行编译安装之后的代码。这个问题太夸张了,一个上午啊!!!!