欢迎来到云服务器

服务器租用

Nginx从编译安装与URL rewrite重写配置

出色先容 媒介

本文主要实现利用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设置文件结果如下

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号