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. 【ASP.NET Core】MVC中自定义视图的查找位置

    .NET Core 的内容处处可见,刷爆全球各大社区,所以,老周相信各位大伙伴已经看得不少了,故而,老周不考虑一个个知识点地去写,那样会成为年度最大的屁话,何况官方文档也很详尽.老周主要扯一下大伙伴们 ...

  2. vs调试dll工程

    dll本身是没法运行的,必须在其它工程调用dll时候才会运行. 所以,调试dll首先要将调用dll的工程和dll工程联系起来. 解决方案中添加dll工程: 现在dll 和 应用程序两个工程就都在一个解 ...

  3. Keepalived+LVS 实现高负载均衡Web集群

    一.原理及简介: 1.1 Keepalived简介      Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节 ...

  4. JDK的下载,安装与环境的配置

    JDK的全称是JavaSE Development Kit,即java开发工具包,是sun公司提供的一套用于开发java应用程序的开发包,它提供了编译.运行java程序所需的各种工具和资源,包括jav ...

  5. CentOS安装scp命令

    scp这东西应该属于openssh-clients这个包,运行: yum -y install openssh-clients 再运行scp就可以了,再次运行: .txt 注意,scp 命令操作的两端 ...

  6. Spring源码情操陶冶-PathMatchingResourcePatternResolver路径资源匹配溶解器

    本文简单的分析下spring对某个目录下的class资源是如何做到全部的加载 PathMatchingResourcePatternResolver#getResources PathMatching ...

  7. Hadoop学习笔记五

    一.uber(u:ber)模式 MapReduce以Uber模式运行时,所有的map,reduce任务都在一个jvm中运行,对于小的mapreduce任务,uber模式的运行将更为高效. uber模式 ...

  8. AJAX面试题都在这里

    AJAX常见面试题 什么是AJAX,为什么要使用Ajax AJAX是"Asynchronous JavaScript and XML"的缩写.他是指一种创建交互式网页应用的网页开发 ...

  9. 使用Openresty加快网页速度

    新年快乐~~~ 上一篇文章讲到使用多级缓存来减少数据库的访问来加快网页的速度,只是,仍旧没有"嗖"一下就加载出来的感觉,想再优化一下,优化代码什么的已经到了极限.上周无意中看到了o ...

  10. Angular 向组件传递模板的几种方法

    最近在写一个日期选择器组件,为了满足将来可能出现的各种需求,所以需要能够高度的自定义组件的样式.为了达到这个目的,需要能够在日期选择器组件外控制每个日期格子内要显示的内容,比如,标上节假日之类的.这时 ...