LAMP架构(LAMP介绍,mysql/mariaDB介绍,Mysql安装)

1、LAMP架构介绍:php

Linux+  Apache(httpd)+ mysql  +   phphtml

操做系统+外网服务软件 + 存储软件 + 脚本语言(由C开发)java

PHP网站mysql

三个角色能够装在一台机器,也能够分开,可是httpd要和php在一块儿(php是以模块的形式和apache结合在一块儿的,apache经过php和mysql打交道,)linux

动态请求:用户经过帐号和密码登陆apache,apache经过php去mysql里比对数据,对上后apache会返回给用户登陆状态c++

静态请求:用户经过apache登陆,apache直接去linux某个目录中去拿静态的文件或图片。不与mysql打交道sql

 

2、mysql/mariaDB介绍shell

 

mysql是一个关系型数据库。由mysql ab公司开发。在2008年被sun公司收购。sun公司(java)于2009年被oracle(数据库)公司收购。mysql走上了商业路线。官网:www.mysql.com   在版本5.6开始变化比较大。5.7性能上有很大提高数据库

mariadb为mysql一个分支。官网为www.mariadb.com,由原做者带领大部分原班人马创立。mariadb5.5对应mysql5.5,mysql5.6对应maiadb10.0。apache

Community 开源版本

enterprise 企业版

GA 通用版本,再生产环境中使用

DMR  开发里程碑版本(有重大突破的版本)

RC  发行候选版本

Beta  开发测试版本(可能存在bug)

Alpha  内部测试版本

 

3、Mysql安装

 

uname -a 查看当前版本信息

[root@lnmp ~]# uname -a

Linux lnmp 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

 

安装:rpm(没有办法自定义安装路径),源码,二进制免编译(能够自定义安装路径)

 

解压mysql的二进制免编译包

tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

将他移动并更名为

mv mysql-5.6.36-linux-glibc2.5-x86_64   /usr/local/mysql

ls     #查看当前目录下的的文件

切换到/usr/local/mysql目录下

建立mysql用户

useradd mysql

mysql 数据库的默认储存数据文件的路径在/var/lib/mysql,可是实际中,咱们在安装时经常就须要定制安装数据库路径,建立data

mkdir /data

初始化

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql     生成数据库系统,指定用户为mysql,储存数据库路径放在/data/下

可能遇到的问题

一、

解决办法:yum install -y perl-XML-Dumper        #安装须要的包

问题二、

image.png

  • 解决办法是: yum install libaio-devel 

  • 初始化成功

拷贝配置文件到/etc/my.cnf              (可能已经存在my.cnf文件,多是由于以前装过,也多是别的数据库的配置)

cp   support-files/my-default.cnf /etc/my.cnf        

(源文件已经有时,在复制就会覆盖

或者(不复制support-files/my-default.cnf /etc/my.cnf      时操做)vim /etc/myt.cnf

拷贝mysql启动脚本而且编辑

cp support-files/mysql.server  /etc/init.d/mysqld

vim /etc/init.d/mysqld          #[mysqld]底下添加

basedir=/usr/local/mysql        指定了mysql程序目录

datadir=/data/mysql            指定了mysql存储数据目录

MySQL数据库默认启动脚本为mysql.server

[root@localhost mysql]# ls support-files/

设置权限为755         (有时候默认是755)

chmod 755 /etc/init.d/mysqld     

 

若是想开机启动,把它添加到系统服务列表里

chkconfig --add mysqld        添加到系统服务列表

chkconfig --list            查看系统服务列表

service mysqld start         / /     etc/init.d/mysqld  start             都是启动mysql服务

ps aux|grep mysql                                  查看进程

netstat -lntp                                     查看监听的端口

 

 

在cent OS6.5使用shell安装LAMP

vi auto_install_lamp.sh、

#!/bin/bash

#2017年10月10日15:14:12

#auto install Lamp soft

#by author www.jfedu.net

#######################

#Install APACHE WEB SOFT

yum install httpd httpd-devel httpd-tools -y

#Install MYSQL DB SOFT

yum install mysql mysql-server mysql-devel -y

#Install PHP WEB SOFT

yum install php php-devel php-common php-mysql -y

#Restart LAMP service

/etc/init.d/httpd restart

/etc/init.d/mysqld restart

#Create LAMP Test Pages

cd /var/www/html/

touch index.php

echo "<?php

phpinfo();

?>">index.php

############################

  1. SHELL实战LAMP 源码脚本(编程思路)
  1. LAMP组合,Linux+Apache+MYSQL+PHP主流的PHP动态网站架构;
  2. 基于源码编译Apache软件,进行简单的配置;
  3. 基于源码编译MYSQL软件,进行简单的配置;
  4. 基于源码编译PHP软件,进行简单的配置;
  5. LAMP源码整合,在httpd.conf进行配置,整合php5.so模块;
  6. 建立PHP测试页面,发布目录中建立,htdocs下;

#!/bin/bash

#2017年10月10日15:30:45

#auto install Lamp soft

#by author www.jfedu.net

#######################

#Install APACHE WEB SOFT

yum install gcc gcc-c++ glibc glibc-delvel -y

yum install apr apr-devel apr-util apr-util-devel wget -y

cd /usr/src

wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.2.34.tar.gz

tar -xzvf httpd-2.2.34.tar.gz

cd httpd-2.2.34

./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewirte --enable-echo --enable-info --enable-ssl

make -j8

make -j8 install

pkill httpd

/usr/local/apache2/bin/apachectl start

ps -ef|grep httpd

#Install MYSQL DB SOFT

cd /usr/src/

wget -c http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz

tar -xzf mysql-5.5.20.tar.gz

cd mysql-5.5.20

yum  install  cmake  ncurses-devel ncurses -y

cmake  .  -DCMAKE_INSTALL_PREFIX=/data/mysql/ \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_DATADIR=/data/mysql/data/ \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DWITH_XTRADB_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EXTRA_CHARSETS=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_BIG_TABLES=1 \

-DWITH_DEBUG=0

make

make install

#Install PHP WEB SOFT

cd /usr/src

wget -c http://mirrors.sohu.com/php/php-5.3.28.tar.bz2

tar jxf  php-5.3.28.tar.bz2

cd php-5.3.28

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc   --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=/usr/local/mysql55/

make -j8

make -j8 install

#LAMP config for PHP module

cd /usr/local/apache2/conf/

echo "AddType         application/x-httpd-php  .php">>httpd.conf

sed -i 's/index.html/index.php index.html/g' httpd.conf

cat>/usr/local/apache2/htdocs/index.php<<EOF

<?php

phpinfo();

?>

EOF

/usr/local/apache2/bin/apachectl restart

#############################

 

在cent OS 7使用shell安装LAMP

#!/bin/bash

#20177310:46:50

#by author jfedu.net

##################

#Install apache server

yum  intall  httpd httpd-devel -y

#Install mysql server

yum  intall  mariadb mariadb-server mariadb-devel -y

#Install php server

yum  intall  php php-mysql php-devel -y

#Start Httpd and Mysql server

systemctl  restart httpd.service

systemctl  restart mariadb.service

#create PHP test Pages

touch /var/www/html/index.php

<?php

phpinfo();

?>

 

 

 

常见问题:

一、/etc/init.d/下没有mysqld的命令

yum install php php-mysql mysql 

yum install mysql-server //这个必须安装,才会有/etc/init.d的mysqld

    PS:   1. 若出现错误 Lost connection to MySQL server at 'reading initial communication packet', system error: 111

        有多是mysql服务没打开,可用命令service mysqld start

      2.若出现错误ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.18.9' (113)

        极可能是防火墙的问题

        iptables -F

        iptables -L

这样就解决了

 

2\

 

                              另一种方法启动MySQL,&符号表示丢到后台

killall mysqld                                    杀死mysql进程(不要常常用kill这个命令)

mysql常见的2中引擎 

innodb 比较大   和   myisam 比较小

 

killall 和 kill 的区别   killall很理性,会在读写完成后在结束进程

相关文章
相关标签/搜索