安装nginx:
安装php+mysql:
安装lighttpd即可,然后把里面的fast-cgi单独提取出来:
rconf //这里是开机启动配置,去掉lighttpd的开机自动启动
然后配置nginx的配置文件,新版本在/etc/nginx/conf下,打开nginx.conf:
server_name xxx.xxx.xx.xxx;//你的主机地址,如果需要改端口在上面改listen
location / {
root /var/www;//根目录
index index.php index.html index.htm //支持php文件
}
location ~ \.php$ {
root /var/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
重启nginx:
我安装的新版本MS不行,就用:
启动fast-cgi:
如何让php fast-cgi重启呢?需要在/etc/init.d/下 把nginx下的php-cgi复制过来,新版本好像没有 总之修改init.d下的php-cgi:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/spawn-fcgi
DAEMON_OPTS=”-a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi”
NAME=php-cgi
stop)
echo -n “Stopping $DESC: ”
pkill -9 php-cgi //主要是kill掉php-cgi的进程
echo “$NAME.”
;;
DESC=php-cgi
然后运行rconf,设置php-cgi开机启动。
php的配置文件在/etc/php5/cgi下的php.inil里,修改后要重启php-cgi:
sudo /etc/init.d/php-cgi stop
本文只是介绍了一下ubuntu中nginx、php、mysql环境的简单安装与配置过程,没有作深入的探讨,算是带领初学的朋友入门吧。
有兴趣的朋友,可以到本站的服务器配置-nginx栏目中寻找更多相关内容。
1、nginx.conf文件
user www www;
worker_processes 1;
error_log /home/wwwlogs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m;
include vhost/*.conf;
}
2、vhost/www.abc.com.conf文件
server
{
listen 80;
server_name www.abc.com abc.com;
index index.html index.htm index.php;
root /abc;
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}
3、然后,在VHOST下面建一个相应的目录www.conf,一般都以网站名命名:www..conf
server
{
listen 80;
server_name www.;
index index.html index.htm index.php;
root /xxx/;
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
}
重启nginx使配置生效。
假设有两个域名,分别是:www.web01.com和www.web02.com,均解析到了192.168.1.1这个IP上。
1、创建站点配置文件
在nginx的配置文件conf目录下创建一个专门存放VirtualHost的目录,命名为vhosts_conf,可以把虚拟目录的配置全部放在这里。
在里面创建名为vhosts_modoupi_web01.conf的配置文件并写入内容:
server {
listen 80; #监听的端口号
server_name web01.com; #域名
#access_log logs/host.access.log main;
location / {
root X:/wnmp/www/web01; #站点的路径
index default.php index.php index.html index.htm;
#站点的rewrite在这里写
rewrite ^/(\w+)\.html$ /$1.php;
rewrite ^/(\w+)/(\w+)$ /$1/$2.php;
}
#错误页的配置
error_page 404 /error.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root X:/wnmp/www/web01;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
完成了站点A的配置,然后做web02的配置,如下:
server {
listen 80; #监听的端口号
server_name web02.com; #域名
#access_log logs/host.access.log main;
location / {
root X:/wnmp/www/web02; #站点的路径
index default.php index.php index.html index.htm;
#站点的rewrite在这里写
rewrite ^/(\w+)\.html$ /$1.php;
rewrite ^/(\w+)/(\w+)$ /$1/$2.php;
}
#错误页的配置
error_page 404 /error.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root X:/wnmp/www/web02;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
2、在nginx的主配置文件里,包含这两个站点的配置文件。
打开conf目录下的nginx.conf文件,在http{...}段输入:
include X:/wnmp/nginx/conf/vhosts_conf/*.conf;