nginx安装与配置(一)
Nginx("engine x")是俄罗斯人编写的一款高性能的HTTP和反向代理服务器。Nginx选择高效的epoll作为网络I/O模型,在高连接并发的情况下,Nginx是Apache服务器不错的替代品。它能支持高达50000个并发连接数,而相应的内存,CPU等系统资源消耗却非常低,运行非常稳定。在国内,新浪博客,新浪播客,网易新闻等多家网站使用Nginx作为Web服务器或者反向代理服务器。
想对于Apache,Nginx的有几大优势:
1.高并发连接
2.内存消耗少
3.成本低廉
4.配置文件非常简单
5.支持Rewrite重写规则,能根据域名,URL的不同,将HTTP请求分到不同的后端服务器群组。
6.内置的健康检查功能
7.节省带宽,至此后GZIP压缩,可以添加浏览器本地缓存的Header头。
8.稳定性高
9.支持热部署
而Apache则在安全性上,技术资料上要比Nginx好一点。
nginx官方网站nginx.com上下载最新的nginx的稳定版本1.2.6。
tar -xvf nginx-1.2.6.tar.gz
cd nginx-1.2.6
./configuere --prefix=/usr/local/nginx
make
make install
我安装的时候发现缺少pcre zlib等
yum list|grep pcre
yum install pcre-devel
zlib同理
安装好之后,启动nginx
cd /usr/local/nginx/sbin
./nginx
退出nginx
killall nginx
或者通过一种优雅的方式去停止nginx
ps -ef|grep nginx
找到master的进程
kill -quit 5652
当需要将正在进行的Nginx升级,添加/删除服务器模块时,可以再不中断服务的情况下,使用新版本、重编译的Nginx可执行程序替换旧版本的可执行程序。步骤如下:
1.使用新的可执行程序替换旧的可执行程序。对于编译安装的nginx,可以将新版本编译安装到旧版本的安装路径中。
2.kill -USER2 旧版本的Nginx主进程号
3.旧版本Nginx的主进程将重命名它的.pid文件为.oldbin,然后执行新版本的Nginx可执行程序,依次启动新的主进程和新的工作进程。
4.此时,新、旧版本的nginx实例会同时运行,共同处理输入的请求。
kill -WINCH 旧版本的nginx主进程号 逐步停止旧版本的nginx实例。
5.一段时间后,旧的工作进程处理了所有已连接的请求后推出,仅由新的工作进程来处理输入的请求了
6.这个时候,我们可以决定是使用新版本
kill -QUIT 旧的主进程号
还是恢复到旧版本。
kill -HUP 旧的主进程号:nginx将在不重载配置文件的情况下启动它的工作进程
kill -QUIT 新的主进程号:从容关闭其工作进程
kill -TERM 新的主进程号:强制退出
nginx多个域名跳转
- server
- {
- listen 80;
- server_name www.mgcrazy.com mgcrazy.com;
- if ($host != 'www.mgcrazy.com' ) {
- rewrite ^/(.*)$ http://www.mgcrazy.com/$1 permanent;
- }