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
[[email protected]]# useradd mysql
[[email protected]]# tar -xf mysql-5.6.26.tar.gz
[[email protected]]# cd mysql
[[email protected] mysql]# cmake
[[email protected] mysql]# make
[[email protected] mysql]# make install
[[email protected] mysql]# chown -R mysql.mysql /usr/local/mysql/(设置权限,所有者,所属主)
初始化数据库
[[email protected] mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data(到scripts目录下运行脚本)
[[email protected]]# ls data/(查看数据库,默认没有,运行脚本后才有)
auto.cnf ib_logfile0 mysql test web2.pid
。。。。。。。。
[[email protected] ~]# vim /etc/ld.so.conf(到搜索路径加上mysql的库)
/usr/local/mysql/lib/
[[email protected] ~]# ldconfig
[[email protected] mysql]# mv support-files/mysql.server /etc/init.d/mysqld(把启动脚本放到etc/init.d)
[[email protected] ]# ln -s /usr/local/mysql/bin/* /usr/bin/
[[email protected]]# ldconfig -v(更新链接库)
[[email protected] ]# server mysqld start(启动mysql)
[[email protected] ]# 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扩展
[[email protected]]# tar -xf mhash....tar.gz(哈希函数库)
[[email protected]]# cd mhash
[[email protected]]# ./configure
[[email protected]]# make
[[email protected]]# make install
[[email protected]]# tar -xf libmcrypt..tar.gz(提供加密功能的库文件)
[[email protected]]# cd libmcrypt
[[email protected] libmcrypt]# ./configure
[[email protected] libmcrypt]# make
[[email protected] libmcrypt]# make install
[[email protected]]# ln -s /usr/local/lib/libmcrypt* /usr/lib/(把依赖库文件做链接)
[[email protected]]# ln -s /usr/local/lib/libmhash.* /usr/lib/(对库文件做链接)
[[email protected]]# ldconfig (更新链接库)
安装php
[[email protected]]# tar -xf php...tar.gz
[[email protected]]# cd php
[[email protected] php]# ./configure --enable-fpm(默认监听9000端口)
[[email protected] php]# make
[[email protected] php]# make install
[[email protected] ]# cd lnmp_soft/php-5.4.24/sapi/fpm(进入启动脚本文件)
[[email protected] fpm]# cp init.d.php-fpm /etc/init.d/php-fpm(把启动脚本放到init下)
[[email protected] fpm]# chmod +x /etc/init.d/php-fpm (赋予执行权限)
[[email protected] ~]# service php-fpm start(启动服务)
[[email protected] ~]# 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端口
[[email protected] 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;
}
[[email protected] ~]# firefox http://192.168.2.200/hydra.php(测试访问php页面和链接数据库情况)
[[email protected] 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;
}
}
[[email protected] nginx]# firefox http://127.0.0.1/a.html
hail hydra!!!
[[email protected] nginx]# curl http://127.0.0.1/curl/a.html
Anonymous

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

时间: 2024-10-07 18:40:33

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

LNMP搭建时可能用到的各种安装参数总结

需要安装的依赖包 gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-deve

利用tinyproxy在Linux上搭建HTTP Proxy Server

之所以需要用到HTTP Proxy Server并不是为了要翻墙,而是为了让没有公网IP地址的内网主机通过有公网IP地址的外网主机访问Internet.举个例子,阿里云ECS在购买时可以不购买公网IP地址,但这种没有公网IP地址的ECS云主机(实例)是没有访问Internet的能力的,也就是说无法在这台实例上下载文件,这在部署应用如部署MySQL时可能遇到无法完成安装问题.解决的办法有两种,一种是在另一台具有公网访问能力的ECS实例上搭建VPN服务,另一种是在另一台具有公网访问能力的ECS实例上

Linux CentOS搭建JDK+Mysql+Tomcat+Nginx负载均衡环境 &nbsp; &nbsp; &nbsp;

本文使用了Tomcat+Nginx环境,主要起到负载均衡的作用,使用Tomcat处理jsp后台程序,使用Nginx处理静态页面. 准备工作(下载软件版本,请自行百度下载) 安装包放至:/usr/local/src 安装地址:/usr/local/软件名 1.apache-tomcat-6.0.48 2.mysql-5.5.54 3.nginx-1.6.3 4.cmake-2.8.8 5.pcre-8.40 6.jdk-8u11-linux-x64 7.openssl-1.1.0d(https使用

Linux之搭建redis缓存服务器

Linux之搭建redis缓存服务器(nginx+tomcat+redis+mysql实现session会话共享) 一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写

Linux下搭建Apache服务器(完整版)

Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件).需要满足的条件也和BSD类似 Apache主要特点 1.开放源代码.跨平台应用 2.支持多种网页编程语言 3.模块化设计 .运行稳定.良好的安全性 Apache软件版本 1.X  1.目前最高版本是1.3,运行稳定  2.向下兼容性较好,但缺乏一些较新

Linux之搭建memcache缓存服务器(二)

Linux之搭建memcache缓存服务器(nginx+php+memcache+mysql) 二.centos7.2+nginx+php+memcache+mysql 环境描述: OS: [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) nginx和php: nginx-1.10.2.tar.gz php-5.6.27.tar.gz ip地址:192.168.31.141/24

subversion linux 服务器端搭建 源码安装

下载源码包 1.1 subversion 源码包 http://subversion.apache.org/download/ 1.2下载sqlite-amalgamation 此处用的版本 subversion-1.8.9.tar.gz sqlite-amalgamation-201408010140.zip 2.请参照 http://my.oschina.net/u/234018/blog/297849 安装apr apr-util apache 3. 解压 安装  tar -zxvf su

Linux下搭建PHP开发环境(LAMP)

LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python 安装方法如下: 注:Ubuntu下可使用sudo su 命名切换到root用户. 开始安装之前,先执行EZHTTP安装前的准备工作. 一.使用screen(可选) 由于编译安装Nginx Apache PHP MySQL等软件会花费比较长的时间,难免会出现由于网络意外中断而导致安装也中断了,所以为了避免此问题,可以使用screen来安装. screen的使用方法如下: 1.安装screen ubunt

LNMP搭建(CentOS 6.3+Nginx 1.2.0+PHP 5.3.15(fpm)+ MySQL 5.5.35)

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了.Igor 将源代码以类BSD许可证的形式发布. 系统环境: # cat /etc/redhat-release CentOS release 6.3 (Final) 1.安装所需的第三方库 yum -y install gcc