使用Nginx的优点
Nginx作为WEB服务器,Nginx处理静态文件、索引文件、自动索引的效率非常高。
Nginx作为代理服务器,Nginx可以实现无缓存的反向代理,提高网站的性能
Nginx作为负载均衡服务器,内部可以支持PHP、也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载;
Nginx在性能方面:Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
Nginx具有很高的稳定性,其它HTTP服务器当遇到访问的峰值,或者有人恶意发起
慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应只能重启服务器。例如当前Apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采
取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。Nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对Nginx来说毫无用处;
Nginx高可用方面:Nginx支持热部署,它的启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。
一、安装nginx配置文件
1、安装之前请确保开发环境 相关依赖包是否安装;
- rpm –qa | grep gcc gcc-c++
- rpm –qa | grep openssl
- rpm –qa | grep pcre
2、安装nginx服务器;
- 41 tar zxvf nginx-0.8.29.tar.gz
- 42 ls
- 43 useradd nginx -s /sbin/nologin
- 44 cd nginx-0.8.29
- 45 mkdir /usr/local/nginx
- 47 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
- 48 make && make install
3、创建虚拟目录,修改配置文件
- [root@CentOS6 sbin]# ./nginx
- [root@CentOS6 sbin]# pwd
- /usr/local/nginx/sbin
4、然后来测试是否能打开;
二、测试https;
众所周知,我们在上网都是使用http协议,默认情况下是明文传输的,当然明文传输的过程中有可能数据会被截取;https简单的说是http的安全版,为了保证用户传输的文件不被窃取而设计的。下面我们来配置基于nginx的https协议。
首先使用openssl安装包,我们已经在安装nginx的时候检查过了,需要注意的是我们配置https协议,那么nginx需要打开ssl。在配置nginx的时候我们已经打开了。接下来我们配置即可。
1. 首先我们要先生成证书,那么我们需要进入证书的目录,创建证书然后设置密码
2. 生成私钥
- [root@CentOS6 certs]# openssl rsa -in rsyslog.key -out rsyslog.key
- Enter pass phrase for rsyslog.key: 输入你的密码
- Enter pass phrase for rsyslog.key: 再输入一次你妈
- writing RSA key
3. 创建证书rsyslog.csr,我们在创建的时候需要注意要的是要写对计算机名字,可以用hostname来查看。
4. 生成证书机构用于颁发公钥;因为我们是在本地生成的没有在互联网CA证书机构颁发证书,因此在访问的时候会弹出浏览器警告,我们添加到证书信任机构就可以了。
5. 然后我们修改配置文件,需要注意的是我们把默认的ssl模块复制到我们创建的虚拟目录里面即可,默认的不要打开,然后修改路径即可。如图是完成的配置。记得重启服务。
6. 测试https是否正常
三、nginx日志系统管理;
1. 作为一个合格的运维,首先对我们维护的服务器应该了如指掌,那么我们对日志的管理与阅读是必不可少的,我们通过日志可以来查看系统是否正常,有没有恶意的攻击或者恶意的扫描等,对高并发的服务器。日志的访问量是很大的。所以我们要定期的截断日志,再此项目中我们用虚拟目录来测试;
2. 然后我们通过cronolog来做日志的管理配置;首先是安装cronolog
3. 配置cronolog
4. 测试,首先在客户端刷新下网页,然后我们在服务端虚拟目录下查看是否有生成的日志文件。如图: