lnmp 虚拟主机配置及重写

lnmp安装与调试,请看

http://www.cnblogs.com/lin3615/p/4376224.html

虚拟主机的配置
编辑nginx配置文件 nginx.conf
此为主配置文件

vim nginx.conf
#user nobody;
# user 主模块指令,指令nginx worker 运行用户和用户组(user xxxuser xxxgroup) ,
# 默认由nobody运行
#定义进程数,一般与cpu核心数一样
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;#错误日志级别
#error_log logs/error.log info; #错误日志级别

#pid logs/nginx.pid; #pid 指令 指定进程id存储位置

#events 指令 指令nginx 工作模式和连接数上限
events {
work-connections 1024;
}

#http服务器配置,同时引用外部的配置文件
http {
include mime.types; #包含文件mime.types
default_type application/octect-stream; #默认为二进制流
#日志格式
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ ‘$status $body_bytes_sent "$http_referer" ‘ ‘"$http_user_agent" "$http_x_forwarded_for"‘;

access_log logs/access.log main;
sendfile on; #高效文件传输模式,将tcp_nopush和tcp_nodely设置为on
keepAlive_timeout 65; #客户端连接保持活动的超时时间,超时后关闭连接
# 包含虚拟目录中的文件,如,t.conf, b.conf
include /绝对路径/目录/*.conf;
}

===============================

配置虚拟主机
vim t.conf
即一个 server {} 为一个虚拟主机

server {
# 监听的端口
listen 80;
# 主机名
server_name www.t.com;
#设置网页字符编码
#charset utf-8;
#访问日志路路径
access_log /绝对路径/文件名.log main;
#默认请求
location / {
# 网页文件存放的目录
root /文档目录的绝对路径/文件夹名;
#默认首页文件,顺序从左到右,如果找不到 index.php,则找下一个
index index.php index.html index.htm;
}
#定义页面状态码为 5xx系统的错误页面
error_page 500 502 504 /50x.html;
location = /50x.html {
root /绝对路径/文档目录;
}
#设置能解释php脚本,以下是tcp 模式,
#如果用要到 socket方式,则要另外配置,看最后
#php脚本请求全部转发到 fastcgi处理,使用FastCGI默认配置.
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /绝对路径/文档文件夹名/$fastcgi_script_name;
include fastcgi_params;
}
#禁止访问 .ht.... 文件
location ~\.ht {
deny all;
}

}

  

同理可配置另一台虚拟机:
b.conf,以下涉到url重写;
大小写匹配

~ 区分大小写匹配
~* 不区分大小写匹配

!~ 区分大小写不匹配
!~* 不区分大小写不匹配

文件及目录匹配

-f 是否文件存在
!-f 是否文件不存在

-d 是否存在目录
!-d 是否不存在目录

-e 是否存在文件或目录
!-e 是否不存在文件或目录

-x 文件是否可执行
~!-x 文件是否不可执行

flag 标记

last 相当于apache 里面的 [L]标志,表示完成 rewrite
break 终止匹配,不再匹配后面的规则
redirect 返回 302 临时重定向,地址栏会显示跳转后的地址
permanent 返回301永久重定向,地址栏会显示跳转后的地址
##################################

server {
listen 80;
server_name www.b.com;
access_log /绝对路径/文件名.log main;
location / {
root /文档目录的绝对路径/文件夹名;
index index.php index.html index.htm;
#################
#重写 www.a.com/99 -> index.php?a=99
#则 ^/(\d+)$ index.php?a=$1 last;

#重写 www.a.com/action/100 -> index.php?a=action&id=100
#则 ^/(\w+)\/(\d+)$ index.php?a=$1&id=$2 last;
}

error_page 500 502 504 /50x.html;
location = /50x.html {
root /绝对路径/文档目录;
}
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /绝对路径/文档文件夹名/$fastcgi_script_name;
include fastcgi_params;
}

location ~\.ht {
deny all;
}

}

######################

关于用 unix domain socket 配置方法
1.首先建立/dev/shm/php-cgi.sock文件,
然后将之改所有者改为nobody
(与 nginx的用户一致,默认为 nobody,可用 ps aux查看)

touch /dev/shm/php-cgi.sock
chown nobody:nobody /dev/shm/php-cgi.sock
chmod 0777 /dev/shm/php-cgi.sock

2.编辑上面的 nginx.conf中

#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;

3.修改 php-fpm.conf 配置(可以搜索)

;listen = 127.0.0.1:9000
listen = /dev/shm/php-cgi.sock

重启 php-fpm和nignx即可

时间: 2024-10-05 23:26:54

lnmp 虚拟主机配置及重写的相关文章

Ubuntu Server 14.04 Apache2.4 虚拟主机配置 以及 模块重写的配置

环境:Ubuntu Server 14.04 Apache2.4 1.虚拟主机配置 在apache2.4中,虚拟主机的目录是通过/etc/apache2/sites-available中配置的,默认情况下,apache有一个默认的虚拟主机文件叫000-default.conf.我们将会复制000-default.conf文件内容到我们新的虚拟主机配置文件中. sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/si

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二) 一.虚拟主机别名介绍 虚拟主机别名就是为虚拟主机设置除了主域名以外的另一个或多个域名名字,这样就能实现用户访问的多个域名对应于同一个虚拟主机网站的功能.在生产环境中,以www.afeilinux.com域名的虚拟主机为例,为其增加一个别名afeilinux.com时,在该域名出现的网站内容和访问www.afeilinux.com得到的结果是一样的. 二.实施方法 第一种方法:Nginx虚拟主机的别名配置 更改wtf.conf配置文件

转:LNMP虚拟主机PHP沙盒绕过/命令执行(php exec命令被禁之后)

LNMP虚拟主机PHP沙盒绕过/命令执行 lnmp更新1.2版本,很多东西都升级了,很棒.不过还是发现一个BUG. LNMP是一款linux下nginx.php.mysql一键安装包. 下载:http://soft.vpser.net/lnmp/lnmp1.2.tar.gz 执行一个命令即可简单安装. 漏洞详情 LNMP是这样配置沙盒的: disable_functions,配置在 include/php.sh中: 其值为: 1 passthru,exec,system,chroot,scand

Nginx中虚拟主机配置

一.Nginx中虚拟主机配置 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS) linux : vim /etc/hosts 格式: ip地址 域名 eg: 192.168.3.172 www.gerry.com 2.在nginx.conf文件中配置server段 server {   listen 80;   server_name www.gerry.com; # 域名区分       location

Nginx虚拟主机配置实例

Nginx虚拟主机 结合上篇文章:手工编译NginxNginx虚拟主机的搭建过程,虚拟主机的概念在之前的Apache虚拟主机搭建实验时已讲述过有关知识点,原文链接:Apache web 虚拟主机 结合上篇文章的配置进行下面的配置操作(Nginx服务是开启状态) [[email protected] named]# netstat -natp | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 79214/nginx: master Nginx虚拟主机配置 1

IP、Apache虚拟主机配置部分学习笔记

IP地址 IP地址就是计算机的一个"编号",该编号是唯一的.相当于我们的身份证号码一样. IP地址格式:a.b.c.d  ,每一段的取值范围0-255. 本机的IP地址:127.0.0.1      只能是自己访问自己,别人无法通过这个IP访问你的电脑. 本机的域名:localhost         只能是自己访问自己,别人无法通过这个域名来访问你的电脑. 别人要想访问你的电脑,必须通过网卡的IP地址来访问. nslookup  www.baidu.com  命令窗口查看域名对应得I

Apache虚拟主机配置

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似. 1. Apache基于域名配置虚拟主机: 打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息: <VirtualHost _default_:80> DocumentRoot &quo

lamp centos虚拟主机配置

1.基于不同端口的虚拟主机配置 [[email protected]~]# vi /etc/httpd/conf/httpd.conf Listen 80      #设置监听不同的虚拟主机需要使用的端口 Listen 8080 Listen 8088 <Virtualhost*:80>                      #三个不同端口的主机 ServerName www.80.com DocumentRoot /var/www/html/80 </Virtualhost>

Ngnix 安装、信号量、虚拟主机配置

一.Ngnix安装 ngnix的安装很简单 1.先从ngnix官网下载ngnix压缩包 wget http://nginx.org/download/nginx-1.6.2.tar.gz 2.解压并进入其目录 tar -zxf nginx-1.6.2.tar.gz cd nginx-1.6.2 3.编译安装 ./configure --prefix=/usr/local/ngnix #此处有可能报错,Ngnix依赖于pcre库,所以要先安装pcre库 yum install pcre pcre-