• linux lnmp搭建及解释


    lnmp的搭建
    linux nginx mysql(mariaDB) php

    安装mysql依赖:
    yum -y install cmake(cmake编译工具)
    yum -y install gcc gcc-c++
    yum -y install ncurses-devel
    安装mysql
    [root@web2]# useradd mysql
    [root@web2]# tar -xf mysql-5.6.26.tar.gz
    [root@web2]# cd mysql
    [root@web2 mysql]# cmake
    [root@web2 mysql]# make
    [root@web2 mysql]# make install
    [root@web2 mysql]# chown -R mysql.mysql /usr/local/mysql/(设置权限,所有者,所属主)
    初始化数据库
    [root@web2 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data(到scripts目录下运行脚本)
    [root@web2mysql]# ls data/(查看数据库,默认没有,运行脚本后才有)
    auto.cnf ib_logfile0 mysql test web2.pid
    。。。。。。。。
    [root@web2 ~]# vim /etc/ld.so.conf(到搜索路径加上mysql的库)
    /usr/local/mysql/lib/
    [root@web2 ~]# ldconfig
    [root@web2 mysql]# mv support-files/mysql.server /etc/init.d/mysqld(把启动脚本放到etc/init.d)
    [root@web2 ]# ln -s /usr/local/mysql/bin/* /usr/bin/
    [root@web2]# ldconfig -v(更新链接库)
    [root@web2 ]# server mysqld start(启动mysql)
    [root@web2 ]# mysql(默认是没密码的)
    mysql> show databases;(查看有哪些数据库,每个指令后加分号结尾)
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    +--------------------+
    4 rows in set (0.12 sec)
    mysql> use mysql;(进入数据库)
    mysql> show tables;(查看数据表)
    ......
    mysql> select * from user;(看from user数据表的信息)
    mysql> create database mydb;(创建新的数据库)
    mysql> use mydb;(进入数据库)
    mysql> create table myt(name char(10),id int(3));(创建数据表)
    mysql> insert into myt("jerry,001");(往数据表里存数据)
    mysql> select * from myt;(查询)
    mysql> exit(退出)

    安装php扩展
    [root@web2]# tar -xf mhash....tar.gz(哈希函数库)
    [root@web2]# cd mhash
    [root@web2]# ./configure
    [root@web2]# make
    [root@web2]# make install
    [root@web2]# tar -xf libmcrypt..tar.gz(提供加密功能的库文件)
    [root@web2]# cd libmcrypt
    [root@web2 libmcrypt]# ./configure
    [root@web2 libmcrypt]# make
    [root@web2 libmcrypt]# make install
    [root@web2]# ln -s /usr/local/lib/libmcrypt* /usr/lib/(把依赖库文件做链接)
    [root@web2]# ln -s /usr/local/lib/libmhash.* /usr/lib/(对库文件做链接)
    [root@web2]# ldconfig (更新链接库)
    安装php
    [root@web2]# tar -xf php...tar.gz
    [root@web2]# cd php
    [root@web2 php]# ./configure --enable-fpm(默认监听9000端口)
    [root@web2 php]# make
    [root@web2 php]# make install
    [root@web2 ]# cd lnmp_soft/php-5.4.24/sapi/fpm(进入启动脚本文件)
    [root@web2 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm(把启动脚本放到init下)
    [root@web2 fpm]# chmod +x /etc/init.d/php-fpm (赋予执行权限)
    [root@web2 ~]# service php-fpm start(启动服务)
    [root@web2 ~]# netstat -nutlp | grep 9000(查看9000端口是否被监听,监听则服务启动成功)
    tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 21153/php-fpm


    将服务链接:
    将nginx和php绑定,如果是静态页面,则nginx直接处理
    如果是php页面,则转发给php9000端口
    [root@daili conf]# vim nginx.conf
    location ~ .php$ {
    root html;
    fastcgi_pass 192.168.2.200:9000;(将php页面转到192.168.2.200:9000端口)
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    [root@web2 ~]# firefox http://192.168.2.200/hydra.php(测试访问php页面和链接数据库情况)
    [root@web2 html]# vim hydra.php
    <?php
    $a=mysql_connect(127.0.0.1,root.pass);
    if($a){
    echo "hail hydra!!!"
    else{
    echo "error";
    }
    }
    ?>

    ——————————————————————————————————————————————————————————————————————

    地址重写:
    获得一个来访的url请求,
    然后改写成服务器可以处理的另一个url的过程

    地址重写的好处:
    缩短url,隐藏实际路径提高安全性
    易于用户记忆和键入
    易于被搜索引擎收录

    常见网站应用:
    当网站文集那移动或文件目录名称发生改变,处于seo需要,
    你需要保持旧的url。
    网站改版了,网站导航和链接发生了变化,
    为了继续持有原链接带来的流量,需要保持旧的url

    rewrite模块
    rewrite语句:
    rewrite 正则 调整后的页面 [选项]
    选项:
    redirect:临时重定向,地址栏改变,爬虫不更新url
    permanent:永久重定向,地址栏改变,爬虫更新url
    last:停止执行其他重写规则,根据url继续搜索其他location,地址栏不变
    break:停止执行其他重写规则,完成本次请求

    正则表达式
    语法格式:
    rewrite 正则 调整后的页面 [选项]
    正则表达式匹配模式如下:
    区分大小写匹配:~
    不区分大小写匹配:~*
    区分大小写不匹配:!~
    不区分大小不匹配:!~*
    判断文件是否存在:-f
    判断目录是否存在:-d
    判断文件是否可执行:-x
    判断文件,目录,连接是否存在:-e

    if(条件){....}
    条件判断
    rewrite——log:error log中记录重写日志
    rewrite——log on | off

    格式:rewrite 正则 调整后的页面 [选项]

    示例:
    要求:把a.html跳转为b.html
    server {
    listen 80;
    server_name www.Anonymous.net;
    location / {
    root html;
    index index.html index.htm;
    rewrite a.html /b.html redirect;(跳转,加了redirect地址栏会改变)
    }
    示例:
    要求:把www.Anonymous.net跳转为www.Anonymous.org
    server {
    listen 80;
    server_name www.Anonymous.net;
    location / {
    root html;
    index index.html index.htm;
    rewrite ^/(.*) http://www.Anonymous.org/$1;(整个网站及子目录文件跳转)
    }
    示例:
    location / {
    root html;
    index index.html index.htm;
    if ($http_user_agent ~ cirl){(判断如果实ie浏览器,则显示a.html的内容,如果是curl则显示curl/a.html的内容)
    rewrite (.*)$ /curl/$1;
    }
    }
    [root@web2 nginx]# firefox http://127.0.0.1/a.html
    hail hydra!!!
    [root@web2 nginx]# curl http://127.0.0.1/curl/a.html
    Anonymous

    ——————————————————————————————————————————————————————————————

  • 相关阅读:
    Access control configuration prevents your request from being allo
    利用Squid + DNSPOD 搭建CDN服务器
    Nginx Location配置总结
    Weblogic下启用Gzip压缩
    Java 8 的新特性和改进总览
    Java 8 中 HashMap 的性能提升
    测试 Nginx 作为前端下各种模式的性能
    通过使用第三方开源jar包sigar.jar我们可以获得本地的信息
    ProGuard使用简介
    Java Web应用软件保护方法
  • 原文地址:https://www.cnblogs.com/Hydraxx/p/7381066.html
Copyright © 2020-2023  润新知