方今临时见到Nginx这一个WEB服务器,上网看了下介绍,好像还真的挺不错的,就在本身的Ubuntu上试了一晃,KAO,速度还真挺快的,若是有要做负载均衡的能够虚构下哦。

OS: Ubuntu 9.10

1.安装nginx
运行:
sudo apt-get intsall nginx
Ubuntu设置之后的公文结构大要上为:
*
全体的布署文件都在/etc/nginx下,并且各个设想主机已经布署在了/etc/nginx/sites-available下
* 程序文件在/usr/sbin/nginx
* 日志放在了/var/log/nginx中
* 并已经在/etc/init.d/下创设了开发银行脚本nginx
* 暗中同意的虚构主机的目录设置在了/var/www/nginx-default

好费话就比比较少说了,说说具体安装步骤吧

WebServer: Nginx 0.7.62 + mono-fastcgi-server2

上边能够运营nginx来探视效果(请确定保证80端口未有别的服务在运用):
Ubuntu请运行:
sudo /etc/init.d/nginx start
然后展开浏览器,查看 看看是否拜候了“Welcome to nginx!”
借使看到了,表达安装成功。当然,基本上,那块儿都不会出难点。
一旦运维不成事,能够先 sudo killall apache2 杀掉apache进程
2.安装php:
当然,未来大家都用php5了。运转:
sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn
php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash
php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc
php5-sqlite php5-xsl

自家用的是Ubuntu 10.04那么些版本,就算依然开垦版,但现行反革命总的来讲以经很准确了哦。

environment: movo 2.05 + asp.net 2.05 + asp.net mvc 1.0

3.安装spawn-fcgi
运行sudo apt-get install spawn-fcgi
为何要安装spawn-fcgi呢,它用来决定php-cgi进度,防止守进程崩溃或是单进度的频率太低。
网络海人民广播电视台湾大学人都说要选拔spawn-fcgi必须得安装lighttpd,实际上不须求,可以直接设置spawn-fcgi

在终极上输入

DbServer: MySql Server 5.1

接下去就是最令人头痛的布署。
配置Nginx和spawn-fcgi协作运作
(1).在/etc/nginx/fastcgi_params 文件最终,参加一行,能够用sudo gedit
/etc/nginx/fastcgi_params张开文件
参预此行:fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;

1 sudo apt-get install nginx

以下是手续:

(2).另外部必要要在PHP-CGI的布署文件(Ubuntu
上此布局文件位于/etc/php5/cgi/php.ini)中,找到cgi.fix_pathinfo选项,修改为:
cgi.fix_pathinfo=1;
那般php-cgi方能健康使用SC哈弗IPT_FILENAME这么些变量。

假设想使用新型的最棒在从前拉长一句

1.安装Ubuntu 9.10(废话)

(3).打开/etc/nginx/sites-available/default文件

server {
listen 80;
server_name localhost;

1 sudo apt-get update

2.安装Mono(由于Ubuntu 9.10曾经松手了新型版的Mono,所以这一步省了)

下边加多
root /var/www/nginx-default
即root和server_name同级
这段即一定于apache的默许目录 若无这一个的话,轻巧在执行php
文件的时候,会唤醒”No input file
specified”。笔者就曾经在此绕了好大个圈子才开掘难题。

(那多少个步骤能够新立得上形成,看爱好)

3.安装Nginx

然后修改
#location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#includefastcgi_params;
#}

这时你就以经安装到位NGINX
那么些WEB服务器了,怎样运作下主持不佳使吗?输入

sudo apt-get install nginx

修改成

1 /etc/init.d/nginx start

4.安装fastcgi-mono-server

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME
/var/www/nginx-default$fastcgi_script_name;
这段没啥用了,留在那儿做个提示而已
include /etc/nginx/fastcgi_params; #fastcgi的参数文件地方
}

后,在浏览器上输入

sudo apt-get install mono-fastcgi-server2

下一场运维
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g
www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
来运营fast-cgi进度,然后大家能够将这行代码参与到/etc/rc.local文件底部,这样系统运行的时候也足以而且运行PHP的法斯特CGI进度。

1

5.配置Nginx

再运行sudo /etc/init.d/nginx restart 重启nginx
好了,能够把你的php文件放在/var/www/nginx-default下边来测量检验一下了。

假定见到内容,OK,您的服务器,算是安装成功了。

a.以root进入/etc/nginx

万一张开php文件出现:No input file specified
请检查
php.ini的布署中
cgi.fix_pathinfo=1
doc_root=
再有,每种虚机要凭仗本人过不去的虚机设置不能够的目录,要确定保障那些路子正确。
检查/etc/nginx/sites-available下的安顿文件中,server内包罗 root 及地点而非location内的root

若是要用.NET的话 就要动用“MONO”这些东西了

b.用gedit打开nginx.conf

附重启nginx和php-cgi 的命令

好现在大家有多少个选项

c.在文书中的http节点最终增添:

nginx: sudo /etc/init.d/nginx restart 同样也得以有start,stop等参数
php-cgi: 先杀死进度
sudo killall -HUP php5-cgi
再启动
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g
www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

1.用XPS

server {

参数含义如下

2.用fastcgi-mono-server

listen 80;

* -f
钦命调用法斯特CGI的长河的实施顺序地方,依据系统上所装的PHP的气象具体设置
* -a 绑定到地方addr
* -p 绑定到端口port
* -s 绑定到unix socket的路径path
* -C 钦点发生的法斯特CGI的历程数,默以为5(仅用于PHP)
* -P
钦赐发生的经过的PID文件路线
* -u和-g 法斯特CGI使用什么身份(-u 用户 -g
用户组)运维,Ubuntu下得以应用www-data,别的的依赖事态安顿,如nobody、apache等
———————————-
假定要设置zendOptimizer
先去zend官方网址下载,地址
找对应你操作系统的zendOptimizer,要是下载进度中供给登记,而你从未挂号过,那就不防注册三回,一劳永逸。
接下来解压,张开data文件夹,再找寻对应你php版本的so文件。基本上现在都以php5.2了,所以在5_2_x_comp/ZendOptimizer.so
能够把那个文件放在其他职务,只要在php.ini中内定出相对地方就行。
比方大家将其放在/usr/local下边。
sudo mkdir /usr/local/zend //按提醒输入密码
在您解压出的文书夹内,奉行
sudo cp ZendOptimizer.so /usr/local/zend
将以此文件拷过去。
编辑php.ini ,在顶峰输入
sudo gedit /etc/php5/cgi/php.ini
在文书末尾加入
[Zend Optimizer]
zend_optimizer.optimization_level=1
zend_extension=”/usr/local/zend/ZendOptimizer.so”

看你本人的取舍了

server_name localhost;

然后重启fastcgi
sudo killall -HUP php5-cgi
再启动
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g
www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
OK了。用php探针看看吧。
4、安装PHP和MySQL
sudo apt-get install mysql-server mysql-client
中级会唤起输入Root用户密码,依次输入就能够。

这边说说fastcgi-mono-server 吧,

location ~ {

启动MySQL
sudo /etc/init.d/mysql start

在极端展开

root /ver/www; #网址的根目录

mysql -uroot -p
输入mysql密码
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
+——————–+
mysql已精确安装了。

sudo gedit /etc/nginx/nginx.conf

index Default.aspx default.aspx
index.aspx Index.aspx index.html index.htm default.htm;

图片 1

在里边增多

fastcgi_pass 127.0.0.1:9000;
#fastcgi要监听的端口号,与前面mono-fastcgi-server2要监听的端口号要一至

  server {
 listen    80;
     server_name    localhost;
         location / {
             root     /ver/www;
             index     Default.aspx index.aspx;
            fastcgi_pass   
127.0.0.1:9000;#在意下这里,要和下部的端口一样的
             fastcgi_param    SCRIPT_FILENAME    
$document_root$fastcgi_script_name;
             include     /etc/nginx/fastcgi_params;
        }
     }
 }

fastcgi_param
SCRIPT_FILENAME
$document_root$fastcgi_script_name;

要想运维MVC的网址还要展开终端

include
/etc/nginx/fastcgi_params;

sudo gedit /etc/nginx/fastcgi_params
 

}

 在开荒的公文里加多

}

 fastcgi_param  PATH_INFO          “”;
 fastcgi_param  SCRIPT_FILENAME   
$document_root$fastcgi_script_name;
 

d.到网站根目录,将/etc/nginx/sites-enabled下的default文件复制过去(其实是链接过去的)

 OK到这里就大致了

e.张开default文件(以root),在其间的server节点下增多以下内容(正是地方的location节点):

开采三个极端运营

location ~ {

fastcgi-mono-server2 /applications=www.domain1.xyz:/:/var/www/
/socket=tcp:127.0.0.1:9000
 

fastcgi_pass 127.0.0.1:9000;
#fastcgi要监听的端口号,与后边mono-fastcgi-server2要监听的端口号要一至

 记住这么些不用关闭

fastcgi_param
SCRIPT_FILENAME
$document_root$fastcgi_script_name;

再张开三个终端运转

include
/etc/nginx/fastcgi_params;

sudo /etc/init.d/nginx start
 

}

 你的WEB网站放到/var/www/里就可以了,开头你的UBUNTU 之旅吧

location / {

(如若不让复制过去,能够在极端用ROOT复制过去)

root /ver/www; #网址的根目录

图片 2

index Default.aspx default.aspx
index.aspx Index.aspx index.html index.htm default.htm;

}

f.打开/etc/nginx下的fastcgi_params文件,在最终出席以下内容(这么些绝对要加,否则mvc的路由效用就不起成效):

fastcgi_param PATH_INFO “”;

fastcgi_param
SCRIPT_FILENAME
$document_root$fastcgi_script_name;

g.至此nginx尽管配置完了.

6.启动Server

a.nginx

sudo /etc/init.d/nginx start 或 restart

b.mono-fastcgi-server2(很离奇,安装的时候和用的时候的名字是倒转的),
上边/socket是监听的端口, /address是本机IP,
/application是站点相对路径和相呼应的程序的

sudo fastcgi-mono-server2 /socket=tcp:9000 /address=127.0.0.1
/applications=/:/var/www

c.浏览器中输入.

7.配备web.conf以应用MySql作为数据库

a.打开web.config

b.在前步向以下内容:

<system.data>

<DbProviderFactories>

<clear />

<add name=”MySQL Data Provider” invariant=”MySql.Data.MySqlClient”
description=”.Net Framework Data Provider for MySQL”
type=”MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data” />

</DbProviderFactories>

</system.data>

c.那样您就足以在asp.net中使用MySql作为数据库了,MySql.Data.dll能够到MySql网址中下载,这里就不细说了.

8.若是你利用MySql中的MermberShip Provider作为你站点的用户处理,
那你的次第或许还无法健康去行,
因为Mono以往还不提供Hased的密码加密方法,所以你须求用到encrypted.

a.将web.config中的memberShip > providers >
add节点中的passwordFormat的值改为encrypted

b.在&ltsystem.web>节点下参预以下内容, 在那之中的键值你也能够用其余:

<machineKey
validationKey=”B6AF9388159183B6A8EE690C851398A11997C519F859599459E30121EF4DF8BF2B1666B

C82BB6FEB2FEF279BEB325E897AED6EA5B71C55D213B76510EF96CAA8″
decryptionKey=”3C5EF273A20ED2473594C9691627700A79376A7C1455320A”
validation=”SHA1″ />

c.这样你的先后就足以应用MySql的MemberShipProvider了.

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注