如有转载请注明出处:
先说为什么要用nginx
思考一个问题当,用户的请求蜂拥而至的时候,我们的服务器仅仅是一台的时候,服务器忙不过来了,用户是不是要等很久,
nginx就可以解决这个问题,大概原理是这样的:
同一种的服务(注意:这里说的是一种服务,是一个项目中很多服务的一种的理解)可以配置多个服务器去处理,在nginx中同一个服务中多个服务器,默认按照轮询的方式处理服务,说白了是均摊,这样压力均摊,名词也叫“负载均衡”,而方式还分为权重,热备,权重就是给配置高的服务器让他多处理请求多干活,热备就是顾名思义,当对于当下服务的服务器当机了,死机了,另一台准备随时上。
安装linux下版本的Nginx
安装环境的准备:
服务器CentOS 6.4 64位
安装包:nginx-1.12.0.tar.gz
下载地址:http://nginx.org/en/download.html
安装c++编译环境(yum install gcc-c++)
安‘’装环境c++的检查 rpm -qa|grep gcc*
我是通过Winscp 向linux传这四个文件的
好进入压缩文件的文件位置,然后:
tar -zxvf openssl-fips-2.0.16.tar.gz 解压文件
cd openssl-fips-2.0.16 进入源码目录
./config
make
make install
按照上述依次重复 pcre库,zlib库
然后安装nginx
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure
Make
Make install
开放80端口,重启防火墙
在nginx的目录下 vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
然后esc :wq!
在nginx 目录下去重启防火墙
Service iptables restart
启动nginx 会发生的错误
这个错说找不到这个libpcre.so.1 这是一个64位系统的bug,我们要手动连接
[root@localhost nginx-1.12.0]# /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
[root@localhost nginx-1.12.0]# whereis libpcre.so.1
libpcre.so: /lib64/libpcre.so.0 /usr/local/lib/libpcre.so /usr/local/lib/libpcre.so.1
解决办法
[root@localhost nginx-1.12.0]# ln -s /usr/local/lib/libpcre.so.1 /lib64/libpcre.so.1
[root@localhost nginx-1.12.0]# /usr/local/nginx/sbin/nginx
查看是否启动成功
通过访问虚拟机的ip (不用带端口号也行)
出现如下界面