溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php和MySQL分離搭建LAMP測(cè)試及流程

發(fā)布時(shí)間:2020-04-28 13:49:23 來(lái)源:億速云 閱讀:369 作者:三月 欄目:數(shù)據(jù)庫(kù)

下文內(nèi)容主要給大家?guī)?lái)php和MySQL分離搭建LAMP測(cè)試及流程,這里所講到的知識(shí),與書(shū)籍略有不同,都是億速云專(zhuān)業(yè)技術(shù)人員在與用戶(hù)接觸過(guò)程中,總結(jié)出來(lái)的,具有一定的經(jīng)驗(yàn)分享價(jià)值,希望給廣大讀者帶來(lái)幫助。

分離phpMySQL搭建LAMP平臺(tái)

環(huán)境:

系統(tǒng):CentOS-7-x86_64-Minimal-1611

Apachehttpd-2.4.25.tar

MySQLmysql-5.7.16.tar

phpphp-5.6.30.tar

192.168.57.144:安裝MySQL

192.168.57.143:安裝Apache+php

 php和MySQL分離搭建LAMP測(cè)試及流程

創(chuàng)建相關(guān)目錄

創(chuàng)建用戶(hù)

解壓安裝包

編譯安裝

(初始化)

鏈接bin目錄

拷貝腳本文件,主配置文件

配置主配置文件

腳本自啟動(dòng)

驗(yàn)證服務(wù)

驗(yàn)證對(duì)接服務(wù)

  

·編譯安裝Apache

 

yum install lrzsz

cd /usr/local/

tar -zxf httpd-2.4.25.tar.gz

 

yum install gcc*  gcc-c++*

yum install apr* apr-util apr-devel pcre* pcre-devel openssl* openssl-devel -y

 

編譯安裝

./configure --prefix=/apps/svr/httpd --enable-so --enable-rewrite --enable-charset-list  --enable-cgi

或者:

./configure                           \

        --prefix=/apps/svr/httpd  \

--sysconfdir=/apps/conf/\

        --enable-so                \

        --enable-ssl               \

        --enable-cgi               \

        --enable-rewrite           \

        --with-zlib                \

        --with-pcre                \

        --with-mpm=prefork         \

        --enable-modules=most      \

        --enable-mpms-shared=all  

echo $?

make

make install

 

配置http環(huán)境變量

ln -s /apps/svr/httpd/bin/* /usr/local/bin/

或者:cat >export PATH=$PATH:/apps/svr/httpd/bin >>/etc/profile

檢查配置文件

apachectl -t

 

 

設(shè)置apacheLinux服務(wù)并實(shí)現(xiàn)開(kāi)機(jī)自啟動(dòng)

cp /apps/svr/httpd/bin/apachectl /etc/init.d/httpd

或者:設(shè)置ApacheLinux服務(wù)并實(shí)現(xiàn)開(kāi)機(jī)自啟動(dòng)  

mv /etc/rc.d/init.d/apachectl /etc/rc.d/init.d/httpd

chmod +x /etc/init.d/httpd

 

vim /etc/init.d/httpd

#!/bin/sh

#chkconfig:2345 80 80

#description:httpd

#

 

chkconfig:2345 80 80

2345:是服務(wù)識(shí)別參數(shù),在級(jí)別2345中啟動(dòng)

第一個(gè)80:是該服務(wù)在第80個(gè)啟動(dòng)

第二個(gè)80:是該服務(wù)在第80個(gè)關(guān)閉

description:httpd       :服務(wù)描述信息

 

chkconfig --add httpd

chkconfig httpd on

chkconfig --list httpd

 

 

cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.57.141 www.a.org

 

 

cat  /apps/svr/httpd/conf/httpd.conf

#ServerName www.example.com:80

ServerName www.a.org

 

 

service  httpd restart

netstat -anpt |grep httpd

 

關(guān)閉數(shù)據(jù)庫(kù)

systemctl stop firewalld

 

 

http://xsboke.blog.51cto.com/12096269/1922949

編譯安裝mysql-5.7.16

 

groupadd -r mysql

useradd -r -g mysql -s /bin/false -M mysql

 

創(chuàng)建mysql安裝文件、數(shù)據(jù)庫(kù)存儲(chǔ)文件、my.cnf文件

mkdir -p /apps/svr/mysql

mkdir -p /apps/mysqldb/data

mkdir -p /apps/conf

 

yum install -y gcc wget make cmake zlib-devel ncurses-devel bison gcc-c++ automake autoconf  imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses-devel libxml2-devel expat-devel openssl openssl-devel

 

下載Boost_1_59_0.tar.gz

wget  http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

tar zxvf boost_1_59_0.tar.gz

 

下載mysql-5.7.13.tar.gz

wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz

tar zxvf mysql-5.7.17.tar.gz

 

cd mysql-5.7.17

cmake . -DCMAKE_INSTALL_PREFIX=/apps/svr/mysql \

-DMYSQL_DATADIR=/apps/mysqldb/data \

-DSYSCONFDIR=/apps/conf/my.cnf \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_LIBWRAP=0 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=../boost_1_59_0 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

 

boost_1_59_0 解壓放到mysql上層目錄

 

---------------------------------------------------------------------------------------------------------------------------------

-DCMAKE_INSTALL_PREFIX= 安裝根目錄

-DCMAKE_INSTALL_PREFIX=  unix套接字目錄

-DDEFAULT_CHARSET= 默認(rèn)字符集

-DDEFAULT_COLLATION=默認(rèn)編碼

-DWITH_EXTRA_CHARSETS= 額外的編碼,請(qǐng)使用ALL來(lái)編譯。

-DWITH_MYISAM_STORAGE_ENGINE=1  編譯myisam存儲(chǔ)引擎,默認(rèn)的存儲(chǔ)引擎,不加也可以

-DWITH_INNOBASE_STORAGE_ENGINE=1 支持InnoDB存儲(chǔ)引擎,這個(gè)也是默認(rèn)安裝的

-DWITH_READLINE=1 使用readline功能

-DENABLED_LOCAL_INFILE=1 可以使用load data infile命令從本地導(dǎo)入文件

-DMYSQL_DATADIR=數(shù)據(jù)庫(kù) 數(shù)據(jù)目錄

---------------------------------------------------------------------------------------------------------------------------------

 

grep processor /proc/cpuinfo 個(gè)數(shù)x2

 

make或者:make -j $(grep processor /proc/cpuinfo |wc -l)

make install

 

cat >export PATH=$PATH:/apps/svr/mysql/bin >>/etc/profile

Source /etc/profile

或者:ln -s /apps/svr/mysql/bin /usr/local/bin

 

chown  -R mysql:mysql /apps/svr/mysql

chown -R mysql:mysql /apps/conf

chown -R mysql:mysql /apps/mysqldb

 

rm -rf /etc/my.cnf

 

導(dǎo)出配置文件  

cd mysql-5.7.16

cp support-files/my-default.cnf /apps/conf/my.cnf

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

 

初始化數(shù)據(jù)庫(kù)

注:

1 之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目錄下,且已被廢棄

2  "--initialize"會(huì)生成一個(gè)隨機(jī)密碼(~/.mysql_secret),而"--initialize-insecure"不會(huì)生成密碼

3  --datadir目標(biāo)目錄下不能有數(shù)據(jù)文件

 

/apps/svr/mysql/bin/mysqld --initialize --user=mysql --basedir=/apps/svr/mysql/ --datadir=/apps/mysqldb/data/

 

初始化密碼

 #root@localhost: Ml-&jsWy(7j)

  

配置mysql自動(dòng)啟動(dòng)

Cp /apps/svr/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

Systemctl enable mysqld.service

或者

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

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

 

* Mysqld.pid文件讓mysql用戶(hù)有權(quán)限訪(fǎng)問(wèn)。

Vi /usr/lib/systemd/system/mysqld.service

改:PIDFile=/apps/svr/mysql/mysqld.pid

# Start main service

ExecStart=/apps/svr/mysql/bin/mysqld--daemonize--pid-file=/apps/conf/mysql5.7/mysqld.pid $MYSQLD_OPTS

 

dbrootpwd=oneinstack #數(shù)據(jù)庫(kù)root密碼

/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by \"$dbrootpwd\" with grant option;"

/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by \"$dbrootpwd\" with grant option;"

 

更改mysql登錄root用戶(hù)密碼

mysqladmin -u root -p'Ml-&jsWy(7j)' password '2Zs63oQbPxpKYFjn6tyj'

 

創(chuàng)建用戶(hù)允許143遠(yuǎn)程(允許php鏈接)

grant all on *.* to root@192.168.57.143 identified by '123456';

flush privileges;

 

show grants for root@192.168.57.143;

select user,host from mysql.user;

  

安裝數(shù)據(jù)加密等擴(kuò)展工具(如libmcrypt、mhash、mcrypt

      注意:這三個(gè)包mcrypt要最后安裝

yum install libxml2 libxml2-devel bzip2-devel libcurl-devel -y

yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel

 

./configure --prefix=/apps/svr/php/  \

--with-openssl \

--enable-mbstring \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-mysql \

--with-zlib \

--enable-xml \

--enable-sockets \

--with-apxs2=/apps/svr/httpd/bin/apxs \

--with-config-file-path=/apps/conf \

--with-bz2  \

--enable-maintainer-zts

make

make install

 

#--with-config-file-scan-dir=/apps/conf  \

#--with-libxml-dir=/usr \

#--with-mysqli=/usr/local/mysql/bin/mysql_config \

#--with-mysql添加mysql模塊

#   --with-apxs2=/usr/local/apache24/bin/apxs 表示編譯成模塊

#--enable-fpm 編譯成fastCGI

#   --enable-maintainer-zts   編譯fastCGI不需要選項(xiàng)

配置php.ini文件:解壓的安裝包下

cp php.ini-development /apps/conf/php.ini

   設(shè)置配置文件路徑 --with-config-file-path=/apps/conf \

short_open_tag = On

asp_tags = On

 

*解析

short_open_tag

決定是否允許使用 PHP 代碼開(kāi)始標(biāo)志的縮寫(xiě)形式(<? ?> )。如果要和 XML 結(jié)合使用 PHP,可以禁用此選項(xiàng)以便于嵌入使用 <?xml ?> 。否則還可以通過(guò) PHP 來(lái)輸出,例如:<?php echo '<?xml version="1.0"'; ?> 。如果禁用了,必須使用 PHP 代碼開(kāi)始標(biāo)志的完×××式(<?php ?> )。

注意: 本指令也會(huì)影響到縮寫(xiě)形式 <?= ,它和 <? echo 等價(jià)。使用此縮寫(xiě)需要 short_open_tag 的值為 On

asp_tags

除了通常的 <?php ?> 標(biāo)志之外還允許使用 ASP 風(fēng)格的標(biāo)志 <% %>。這也包括了輸出變量值的縮寫(xiě) <%= $value %>

注意: ASP 風(fēng)格標(biāo)志的支持是 3.0.4 版新加的

 

整合apachephp

 

編譯Apache配置文件httpd.conf,以Apache支持php。以及訪(fǎng)問(wèn)的主頁(yè)面index.php

vim /apps/conf/httpd.conf

 

添加支持php的主頁(yè)

<IfModule dir_module>

    DirectoryIndex index.php index.html

</IfModule>

 

加載php程序模塊文件

LoadModule php5_module        modules/libphp5.so

添加如下二行apache能識(shí)別php格式頁(yè)面

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps

 

查看配置文件是否有語(yǔ)法錯(cuò)誤

httpd -t

Syntax OK

 

重啟服務(wù)

service httpd restart

 

測(cè)試PHPApache是否正常連接

cd /apps/svr/httpd/htdocs/

vim index.php

<?php

phpinfo();

?>

 

整合phpmysql

 

由于mysqlphp不在同一臺(tái)云服務(wù)器,所以添加php的擴(kuò)展模塊

1、Apache+php服務(wù)器上安裝mysql-devel

yum install mysql-devel -y


2、進(jìn)入php解壓包生成配置文件

cd /root/php-5.6.30/ext/mysql

執(zhí)行phpize腳本生成configure文件

[root@client mysql]# pwd

/root/php-5.6.30/ext/mysql

[root@client mysql]# /apps/svr/php/bin/phpize

Configuring for:

PHP Api Version:         20131106

Zend Module Api No:      20131226

Zend Extension Api No:   220131226

Cannot find autoconf. Please check your autoconf installation and the

$PHP_AUTOCONF environment variable. Then, rerun this script.

無(wú)法找到autoconf。請(qǐng)檢查您的autoconf安裝和

$PHP_AUTOCONF環(huán)境變量。然后,重新運(yùn)行這個(gè)腳本。

*錯(cuò)誤缺少 m4  autoconf*

yum install m4

yum install autoconf

 

3、配置 編譯安裝(安裝完成之后再擴(kuò)展塊路徑下生成一個(gè)mysql.so模塊文件)

./configure --with-mysql --with-php-config=/apps/svr/php/bin/php-config

 

--with-mysql添加mysql模塊

--with-php-config=/apps/svr/php/bin/php-config添加模塊所需要的腳本位置

 

make

make install

php和MySQL分離搭建LAMP測(cè)試及流程 

 

4、添加mysql.so模塊到php.ini配置文件(/apps/conf/php.ini)

[root@client htdocs]# cat /apps/conf/php.ini |grep mysql.so

extension=/apps/svr/php/lib/php/extensions/no-debug-zts-20131226/mysql.so php和MySQL分離搭建LAMP測(cè)試及流程

 

測(cè)試PHPMySQL(默認(rèn)root用戶(hù)登錄不需要密碼)是否正常連接

vim index.php

<?php

$conn=mysql_connect('localhost','root','');

if ($conn)

echo "Success...";

else

echo "Failure!!!";

?>

 

對(duì)于以上關(guān)于php和MySQL分離搭建LAMP測(cè)試及流程,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們億速云的行業(yè)推新,如需獲取專(zhuān)業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)?lái)一定的知識(shí)更新。

 


 

 

 

 



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI