Linux、Mono、Nginx高并发实践.docx
文本预览下载声明
Linux、Mono、Nginx高并发实践? ?在Linux上部署网站需要先安装Web服务器端软件,IIS只能在windows上使用,相对的我们可以选择著名的apache、Ngnix等。本文将简单Nginx的安装、配置以及利用其运行一个简单的A 网站。Nginx? ? Nginx (Engine X)是一个高性能的Web服务器,由于其稳定、功能丰富、低资源消耗等特点,已经有很多网站利用它进行部署(国内不少大公司开始利用nginx 取代 apache,毕竟LAMP 太教条化了)。Nginx安装 本文将从源码开始安装nginx 目前最新版为 1.2.0,所有的安装过程都是在Ubuntu操作系统下进行的。首先下载源码:wget /download/nginx-1.2.0.tar.gz然后解压tar -zxv -f nginx-1.2.0.tar.gz进入解压的目录后接着执行./configure碰到了 PCRE Library 没有安装的问题利用??apt-get install libpcre3 libpcre3-dev 命令安装PCRE库再次运行./configure ?发现缺乏Http gzip模块执行 :apt-get?install?libssl-dev 安装对应的模块。再次运行./configure??接着依次运行makemakeinstall这样就完成了Nginx的安装,默认安装在/usr/local/nginx下。使用以下命令启动Nginx/usr/local/nginx/sbin/nginx?测试Nginx?Nginx默认以Deamon进程启动,输入下列命令测试是否启动成功:curl -i http://localhost/成功安装后会得到以下结果:如果出现以上信息,恭喜你Nginx 安装成功。如果想停止运行Nginx可以利用以下命令:/usr/local/nginx/sbin/nginx -s stop配置Nginx? ? nginx的配置文件是纯文本文件,主配置文件默认放在安装目录下的conf文件夹中。conf下有很多的配置文件,其中nginx.conf为主配置文件。整个配置文件以block的形式组织,每一个{}及其内容就代表一个block.block 可以分为几个层次,整个配置文件中main指令位于最高层,在main层下面可以有Events、HTTP等层级,而在HTTP层中又包含有server 层,即server block,server block中又可分为location层,并且一个server block中可以包含多个location block.??打开配置文件在 Http 配置块内添加:include /usr/local/nginx/conf/monotest.conf;说明:这里利用 include 命令 将虚拟主机Server 节的配置移动到单独的文件中方便管理,空格后面紧跟的是文件路径。(不要忘记分号“;”).Monotest .conf 的配置如下:server{listen8001;server_name localhost;location/ {root/home/ubuntu/www/monotest/;index default.aspx Default.aspx;fastcgi_index Default.aspx;fastcgi_pass:9001;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include/usr/local/nginx/conf/fastcgi_params; }}server 表示我们配置的虚拟主机,listen 指定服务监听的端口(通常为80 ),这里我们指定为8001;server_name用来指定IP地址或者域名,多个域名之间用空格分开;location 可以用于匹配URL,其语法为location [=|~|~*|^~] /uri/ { … }location??/ {?}?匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。location =/ {}?仅仅匹配/location ~* \.(gif|jpg|jpeg)$ {}?不区分大小写匹配任何以gif,jpg,jpeg结尾的文件root 表示站点的路径;index ?表示配置的默认页。fastcgi_pass ?,表示FastCgi服务启动时所采用的地址? Nginx并不直接支持外部程序到调用或解析(IIS 则可以直接调用IASPI进行扩展),需要通过FastCGI接口来调用。在Linux下FastCGI利用的是Socket,所以我们需要指
显示全部