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
——————————————————————————————————————————————————————————————
linux lnmp搭建及解释的更多相关文章
- linux lnmp搭建
1.安装nginx: yum install gcc -y yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum inst ...
- linux局域网搭建yum仓库(本地(file)、网络(ftp、http))
linux局域网搭建yum仓库(本地(file).网络(ftp.http)) yum配置文件解释: [ ]:定义仓库,base为仓库的名字,可任意 name:仓库的简短文字描述 baseurl:仓库的 ...
- Linux环境搭建-在虚拟机中安装Centos7.0
最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Linux下搭建个人网站
前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
随机推荐
- java面向对象基础(一)
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- php中curl模拟post提交多维数组(转载)
原文地址:http://www.cnblogs.com/mingaixin/archive/2012/11/09/2763265.html 今天需要用curl模拟post提交参数,请求同事提供的一个接 ...
- MySQL常见SQL语句用法
标签(linux): mysql 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 表字段类型 TINYINT 微小整数类型,可存储的容量为1字节 INT 整数类型 ...
- Linux安装Tomcat7
linux版本:CentOS 6.2 iso文件下载地址:http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.is ...
- java导入项目有红色叹号
原因:缺少jar包 解决: 选中项目 -> 右键 -> Build Path -> Configer Builder Path -> 删除掉有错的J ...
- 用icas下载文件报错
前段时间服务器升级,过程中测试到报表下载,报表下载要用到icas,用的是sdts-client.jar,但是此jar包有两种连接模式,分别为: public static final SdtsConn ...
- Vue.js搭建路由报错 router.map is not a function,Cannot read property ‘component’ of undefined
错误: 解决办法: 2.0已经没有map了,使用npm install vue-router@0.7.13 命令兼容1.0版本vue 但是安装完之后会出现一个错误: Cannot read prope ...
- CF154D. Flatland Fencing [博弈论 对称 平局]
传送门 题意: 背景是$knights' tournament$,好棒的样子! 这道题不一样很恶心的地方就是有平局的存在 首先判断能不能一步杀 不能的话,如果可以走$0$步或者$a,b$一负一正那么一 ...
- IntelliJ IDEA使用心得之基础篇
今天和大家分享一个非常好用的Java开发工具-IntelliJ IDEA. 下载地址:https://www.jetbrains.com/idea/ 目录: 1)IntelliJ IDEA使用心得之基 ...
- 【JavaWeb】JDBC连接MySQL数据库
正文之前 在之前写的JavaWeb项目中使用了JDBC,在此来回顾一下,并做个demo看看,先来看看JDBC的概念 Java数据库连接,(Java Database Connectivity,简称JD ...