出色先容 媒介
本文主要实现利用Nginx作为Web处事器,并利用URL Rewrite实现将手机对Web站点的请求专门重写到一个专门为手机定制的Web页面中。
情况先容
笔者只有一台虚拟机, 桥接到室内的路由器便于手机举办会见, IP地点为192.168.1.103。
Nginx先容
engine x发音同Nginx,作者是Igor Sysoev,是今朝世界上占有率第三的Web处事器软件. Nginx是一款轻量级的Web处事器,可实现反向署理,URL rewrite等成果。
Nginx拥有耗损内存小、可支持高并发毗连达5W个、还支持热陈设、高机能的网络IO模子等特性。淘宝还基于Nginx举办二次研发出Tengine。
编译安装Nginx
需要安装Development Tools和Server Platform Development包组和zlib-devel, pcre-devel, openssl-devel等包。
[[email protected] ~]# yum groupinstall "Development Tools" "Server Platform Development" #安装包组
[[email protected] ~]# yum install pcre-devel openssl-devel zlib-devel -y #安装相应软件
[[email protected] ~]# tar xf nginx-1.6.1.tar.gz -C /usr/src/ #解压nginx源码包到/usr/src/目次中
[[email protected] ~]# cd /usr/src/
[[email protected] src]# cd nginx-1.6.1/
[[email protected] nginx-1.6.1]# groupadd -r nginx #建设组
[[email protected] nginx-1.6.1]# useradd -r -g nginx nginx #建设用户
[[email protected] nginx-1.6.1]# ./configure --prefix=/usr/src/nginx --sbin-path=/sbin/ --conf-path=/etc/nginx/nginx.conf --with-http_ssl_module --user=nginx --group=nginx --with-http_gzip_static_module
#关于编译选项的参数寄义,请查阅官方文档
[[email protected] nginx-1.6.1]# make && make install
设置文件表明
关于Nginx的一些事情道理我们这里不做表明,可是我们表明一下Nginx的设置文件中常用选项的意思
nginx的主设置文件是nginx.conf,设置文件的位置跟着编译的设置选项而定,我们这里是/etc/nginx/nginx.conf文件
Nginx作为web处事器时主设置文件一般分为三段, main和event{},http{}、我们别离举办先容
main和event{}的设置
运行相关的设置
user User_Name [Group_name]; #运行Nginx历程的用户和组. 默认为nobody
error_log /path/to/error_log; #是否启用错误日志,并指定错误日志的存放位置, 可指定为相对路径
error_log /path/to/error_log notice; #指定错误日志的记录的级别
pid /path/to/pidfile; #指定守护历程pid文件的位置
机能相关的设置
worker_processes number; #运行的worker历程的个数, 默认为1
worker_cpu_affinity cpumask ...; #界说worker历程和cpu的绑定, 这里不做过多先容, 不相识的可自行查找
time_resolution interval ; 计数器的理会度,记录日志时时间的准确性
worker_priority number; #worker历程的优先级
事件相关的设置
accept_mutex on|off; #master历程调治用户请求至worker历程的算法,轮询和随机. on暗示轮询
use [epoll|rtsing|select|poll]; #指明利用的事件驱动模子
worker_connections number; 指明一个worker历程可以或许接管的最大请求书
http{}的根基设置
1. server{}: 界说一个虚拟主机
示例:
server {
listen 80;
server_name www.anyisalin.com;
root "/htdocs/www"
}
2. listen
语法: listen address[:port];
示例:
listen 127.0.0.1:8000;
listen 127.0.0.1;
listen 8000;
listen *:8000;
listen localhost:8000;
3. server_name
语法: server_name name...;
支持通配符:
匹配顺序:
1. 准确匹配
2. 从左向右匹配通配符 *.anyisalin.com
3. 从右向左匹配通配符 anyisalin.*
4. 匹配正则表达式 ~^*.anyisalin.com$
5. default_server
4. root
语法: root path;
5. location
语法: location [=] [~] [~*] [^~] URL {...}
成果:按照用户请求的URI来匹配界说的location
=: 准确匹配查抄
~: 正则表达式匹配
~*: 正则表达式匹配, 不区分巨细写
^~: URI的前半部门匹配, 不支持正则表达式
示例:
server {
listen 80;
server_name www.anyisalin.com;
location / {
root "/htdocs/www";
}
location /imgs/ {
root "/htdocs/imgs"
}
location ~* .php$ {
root "/htdocs/php"
}
}
设置Nginx 搭建一个根基的Nginx Web处事器
编辑Nginx设置文件结果如下