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很理性,會在讀寫完成後在結束進程

相關文章
相關標籤/搜索