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

一、LAMP架构介绍:

Linux+  Apache(httpd)+ mysql  +   php

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

PHP网站

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

动态请求:用户通过账号和密码登录apache,apache通过php去mysql里比对数据,对上后apache会返回给用户登录状态

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

 

二、mysql/mariaDB介绍

 

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。

Community 开源版本

enterprise 企业版

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

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

RC  发行候选版本

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

Alpha  内部测试版本

 

三、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/下

可能遇到的问题

1、

4a4475e298481b81976e8b9d56c89a0cf33.jpg

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

问题2、

image.png

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

  • 初始化成功

e5bc7c7ea255a0f4303f2b137c70cb3f5e6.jpg

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

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

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

f1dd21bad6481d40eb8e1996b1e4709f80f.jpg

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

3fbf1ed850d17f851d2fa3f7505a55b419f.jpg

b9ad8e10a19ac51c20d7a706af62759e11c.jpg

拷贝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/

09c5324093ac09c53fb6dcf52b46fbff8da.jpg

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

chmod 755 /etc/init.d/mysqld     

 

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

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

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

728d5de82890f9c2e64eea4cb9a979455db.jpg

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

e2d93c2d81b809fb8172503ef6b40dc2827.jpg

ps aux|grep mysql                                  查看进程

f9fe3afc72213e4e737639d7f7fd591ed4c.jpg

netstat -lntp                                     查看监听的端口

c0702b732e8e7dc29ae5585d866d5dd91a7.jpg

 

 

在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

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

0901ea4ab861823f1fd52f042a77cb9a460.jpg

  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();

?>

 

 

 

常见问题:

1、/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\

103c72207a24bb430a9e3eb806f46737b2f.jpg

9891ed78666403fa090fcd4614152858b51.jpg

 

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

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

mysql常见的2中引擎 

innodb 比较大   和   myisam 比较小

 

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

转载于:https://my.oschina.net/u/3803405/blog/1800117

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值