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

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

linux lnmp搭建及解释的更多相关文章

  1. linux lnmp搭建

    1.安装nginx: yum install gcc -y yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum inst ...

  2. linux局域网搭建yum仓库(本地(file)、网络(ftp、http))

    linux局域网搭建yum仓库(本地(file).网络(ftp.http)) yum配置文件解释: [ ]:定义仓库,base为仓库的名字,可任意 name:仓库的简短文字描述 baseurl:仓库的 ...

  3. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

  4. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  5. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  6. Linux下搭建个人网站

    前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...

  7. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  8. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  9. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

随机推荐

  1. TensorflowTutorial_一维数据构造简单CNN

    使用一维数据构造简单卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 神经网络对于一维数据非常重要,时序数据集.信号处理数据集和一些文本嵌入数据集都是一维数据,会频繁的使用到神经网 ...

  2. 使用hexo搭建个人博客

    安装前提 node.js git 如果缺少以上条件,则前往相应的官网下载安装即可.. 安装hexo $ npm install hexo-cli -g 待安装完成后,执行相关命令查看hexo的信息. ...

  3. JVM类加载机制---类加载的过程

    一.类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用.卸载 7个阶段,其中验证.准备.解析 3个部分统称为 连接. 二.具体步骤 ...

  4. 生成csv格式文件并导出至页面的前后台实现

    一.前台实现: 1. HTML: <div> <a href="javascript:void(0);" class="btnStyleLeft&quo ...

  5. .NET Core 2.0 问题杂记

    一. Ubuntu 14.04 安装 1.安装之前请先删除之前的.net core 版本 命令如下: 1.1 获取安装的.net core 版本 sudo apt --installed list | ...

  6. JDK,JRE,JVM的区别与联系

    JDK : Java Development ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工 ...

  7. BZOJ 4195: [Noi2015]程序自动分析 [并查集 离散化 | 种类并查集WA]

    题意: 给出若干相等和不等关系,判断是否可行 woc NOI考这么傻逼的题飞快打了一个种类并查集交上了然后爆零... 发现相等和不等看错了异或一下再叫woc90分 然后发现md$a \neq b, a ...

  8. BZOJ 3697: 采药人的路径 [点分治] [我想上化学课]

    传送门 题意: 路径有$-1,1$两种权值,求有多少路径满足权值和为$0$且有一个点将路径分成权值和为$0$的两段 第四节课本来想去上化学,然后快上课了这道题还没调出来.....可恶我想上化学 昨天两 ...

  9. AWS-SS配置过程

    为满足家长要求,以下只录步骤: 远端: 1. 注册并启动一个AWS实例.这一步网上N多教程,搜 AWS EC2 等均可. 2. 远程安装SS,并写配置文件.依然网搜, AWS S(hadow)S(oc ...

  10. SqlSugar ORM 入门到精通【一】入门篇

    背景 SqlSugar是一款国产ORM,除了拥有媲美原生的性能 另外还有满足各种需求的功能,简单好用一分钟就能够轻松上手. 2.x版本正式在自已公司内部项目使用 3.x版本得到了更多公司的喜欢不过也会 ...