lamp

介紹
LAMP指的是協同工作的一整套系統和相關軟件,能夠靜態提供Web站點服務及其應用開發環境
L=Linux,A=Apache,M=MySQL,P=PHP;
Linux作爲LAMP的基礎環境;Apache作爲LAMP架構的前端;MySQL作爲LAMP架構的後端
部署環境
主機名:cong11 IP地址:192.168.1.4 mysql
主機名:cong12 IP地址:192.168.1.6 Linux+Apache+PHP

[root@cong11 ~]# yum -y remove mysql mariadb boost-*
[root@cong11]# ls
lamp
[root@cong11 ~]# tar -jxvf boost_1_68_0.tar.bz2 -C /usr/local/src/
[root@cong11 ~]#tar -zxvf mysql-5.7.26.tar.gz -C /usr/local/src/
安裝yum源
[root@cong11~]# vim /etc/yum.repos.d/lihuashi.repo
[root@cong11 ~]# vim /etc/yum.repos.d/lihuashi.repo
[linux]
name=centos7
baseurl=file:///ios # YUM倉庫目錄
enabled=1 # 是否啓用YUM源,1爲啓用,0禁用
gpgcheck=0 # 不開啓祕鑰檢測
[root@cong11 ~]# mount /dev/cdrom /ios/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@cong11 ~]# yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-dev # 安裝依賴包
安裝mysql
創建工作用戶
[root@cong11 ~]# useradd -M -s /usr/sbin/nologin -r mysql
-M:不創建宿主目錄
-s:指定登錄時的bash,’/usr/sbin/nologin’表示不允許登錄到系統
-r:創建系統用戶,會將UID指向499~1000之間
[root@cong11 ~]# id mysql
uid=997(mysql) gid=1001(mysql) 組=1001(mysql)
創建工作目錄
[root@cong11 ~]# mkdir -p /data/mysql/{data,log}
[root@cong11 ~]# chown -R mysql:mysql /data/mysql
編譯安裝
[root@cong11 ~]# cd /usr/local/src/mysql-5.7.26/ # 切換至MySQL源碼包解包目錄
[root@cong11 mysql-5.7.26]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/root/boost_1_59_0
各參數解釋:

DCMAKE_INSTALL_PREFIX:指定MySQL程序的安裝目錄,默認/usr/local/mysql
DEFAULT_CHARSET:指定服務器默認字符集,默認latin1
DEFAULT_COLLATION:指定服務器默認的校對規則,默認latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允許本地執行LOAD DATA INFILE,默認OFF
WITH_COMMENT:指定編譯備註信息
WITH_xxx_STORAGE_ENGINE:指定靜態編譯到mysql的存儲引擎,MyISAM, MERGE,MEMBER以及CSV四種引擎默認即被編譯至服務器,不需要特別指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不編譯的存儲引擎
SYSCONFDIR:初始化參數文件目錄
MYSQL_DATADIR:數據文件目錄
MYSQL_TCP_PORT:服務端口號,默認3306
MYSQL_UNIX_ADDR:socket文件路徑,默認/tmp/mysql.sock
[root@cong11 mysql-5.7.26]# echo $? # 查看錯誤返回狀態
[root@cong11 mysql-5.7.26]# make -j 4 && make install
修改mysql目錄權限
[root@cong11 mysql-5.7.26]# chown -R mysql:mysql /usr/local/mysql/
生成my.cnf配置文件
[root@cong11 ~]# mv /etc/my.cnf{,.bak}
創建my.cnf配置文件
[root@cong11 ~]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql #mysql安裝目錄
datadir=/data/mysql/data #mysql數據存放目錄
port=3306 #mysql監聽端口
socket=/usr/local/mysql/mysql.sock #mysql.sock文件存放目錄
symbolic-links=0 #關閉mysql的符號鏈接
character-set-server=utf8 #指定mysql的字符集爲utf8
log-error=/data/mysql/log/mysqld.log #指定mysql的錯誤日誌存放路徑
pid-file=/usr/local/mysql/mysqld.pid #mysql的pid文件存放目錄
生成服務啓動腳本
[root@cong11 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@cong11 ~]# chmod +x /etc/init.d/mysqld #給腳本添加執行權限
添加mysqlpid開機自啓
[root@cong11 ~]# chkconfig --add mysqld #把mysql添加到系統服務
[root@cong11 ~]# chkconfig mysqld on #把mysql添加到開機自啓動
[root@cong11 ~]# chkconfig --list mysqld #查看mysql開機自啓動狀態
lamp
如果無法初始化先啓動mysql
[root@cong11 ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql \
--basedir=/usr/local/mysql --datadir=/data/mysql/data
啓動服務
[root@cong11 ~]# /etc/init.d/mysqld start
lamp
添加path路徑
[root@cong11 ~]# vim /etc/profile 添加下面2行 在文件的結尾
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
lamp
使修改生效
[root@cong11 ~]# source /etc/profile
或者
[root@cong11 ~]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
修改mysql密碼
[root@cong11 ~]# mysqladmin -u root password "123456"
或者登陸到mysql修改密碼
[root@cong11 ~]# mysql
mysql> set password for 'root'@'localhost'=password('123456');
登錄mysql
[root@cong11 ~]# mysql -uroot -p123456
mysql> show databases;
lamp
安裝apache
安裝依賴包
[root@cong12 ~]# yum -y remove httpd
[root@cong12 ~]# ls
lamp
[root@cong12 ~]# tar -zxvf apr-1.5.2.tar.gz -C /usr/local/src/ # 解包
[root@cong12 ~]# cd /usr/local/src/apr-1.5.2/
[root@cong12 ~]# ./configure --prefix=/usr/local/apr # 編譯
[root@cong12 ~]# vim configure
29605行 RM='$RM' 修改爲 RM='$RM -f'
lamp
[root@cong12 ~]# make && make install
[root@cong12 apr-1.5.2]# echo $?
0
解壓依賴包apr-util-1.5.4.tar.gz
[root@cong12 ~]tar -zxvf apr-util-1.5.4.tar.gz -C /usr/local/src/
[root@cong12 apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/bin/apr-1-config
[root@cong12 apr-util-1.5.4]# make && make install # 安裝
[root@cong12 apr-util-1.5.4]# echo $?
0
安裝_pcre-8.41.tar.gz
解壓
[root@cong12 ~]tar zxf pcre-8.41.tar.gz
預編譯,指定安裝目錄
[root@cong12 pcre-8.41]# ./configure --prefix=/usr/local/pcre
[root@cong12 pcre-8.41]# echo $?
0
編譯安裝
[root@cong12 pcre-8.41]make && make install

安裝_ httpd-2.4.38
[root@cong12 ~]# tar -zxvf httpd-2.4.38.tar.gz -C /usr/local/src/
[root@cong12 ~]# cd /usr/local/src/httpd-2.4.38/
[root@cong12 ~]# yum -y install openssl-devel # 需要安裝關於openssl-devel依賴包
[root@cong12 ~]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/ --enable-charset-lite --enable-cgi --enable-mpms-shared=all --enable-mpm-with=event--enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
各參數含義:
--prefix=:指定安裝目錄
--enable-so:支持動態加載模塊
--enable-rewrite :支持網站地址重寫
--enable-cgi:支持CGI程序腳本
--enable-ssl:支持SSL加密
--with-apr=/usr/local/apr #關聯apr
--with-apr-util=/usr/local/apr-util #關聯apr-util
--with-pcre=/usr/local/pcre #關聯pcre
--enable-charset-lite:支持多語言編碼
--enable-mpms-shared=all:安裝apache所有運行模式模塊(多線程多進程模塊)
[root@cong12 ~]# echo $?
0
[root@cong12 ~]# make && make install

修改主配置文件
[root@cong12 ~]vim /usr/local/httpd/conf/httpd.conf
將ServerName www.example.com:80修改爲ServerName localhost:80
查看網站根目錄
ls /usr/local/httpd/htdocs/
index.html
設置Apache啓動腳本
[root@cong12 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@cong12 ~]# vim /etc/init.d/httpd #添加以下兩行,設置chkconfig自啓動
#!/bin/sh
chkconfig: 2345 11 88
#despriction: web site
[root@cong12 ~]chmod +x /etc/init.d/httpd #添加執行權限
[root@cong12 ~]# chkconfig --add httpd #添加爲系統服務
[root@cong12 ~]# chkconfig httpd on # 添加開機自啓
[root@cong12 ~]# chkconfig --list httpd # 查看
lamp
[root@cong12 ~]# systemctl start httpd
[root@cong12 ~]# systemctl status httpd
httpd.service - SYSV: Apache Server
Loaded: loaded (/etc/rc.d/init.d/httpd; bad; vendor preset: disabled)
Active: active (running) since 五 2019-07-05 19:55:37 CST; 2s ago
[root@cong12 ~]# ln -s /usr/local/httpd/bin/* /usr/bin/ # 創建軟鏈接

安裝PHP
安裝依賴包
[root@cong12 ~]yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel re2c libmcrypt-devel freetype-devel libjpeg-devel bzip2-devel
上傳libmcrypt包
lamp
解壓編譯安裝
[root@cong12 ~]# tar zxf libmcrypt-2.5.7.tar.gz
[root@cong12 ~]# cd libmcrypt-2.5.7
[root@cong12 libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
[root@cong12 libmcrypt-2.5.7]# echo $? 查看執行命令
0

安裝php
上傳軟件包
lamp
[root@cong12 ~]# tar -zxvf php-5.6.36.tar.gz -C /usr/local/src/
[root@cong12 php-5.6.36]# pwd
/usr/local/src/php-5.6.36
[root@cong12 php-5.6.36]# ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/usr/local/php5.6/etc --with-config-file-scan-dir=/usr/local/php5.6/etc/ --with-bz2 --enable-maintainer-zts --with-apxs2=/usr/local/httpd/bin/apxs
相關選項的解釋:
--prefix=/usr/local/php5.6 //安裝位置
--with-mysql=mysqlnd //支持mysql
--with-pdo-mysql=mysqlnd //支持pdo模塊
--with-mysqli=mysqlnd //支持mysqli模塊
注:上面的三選項的作用:數據庫與php不在一個服務器上,指定此種方式,安裝數據庫連接驅動
--with-apxs2 #將php編譯爲Apache的一個模塊進行使用
--enable-mbstring #多字節字符串的支持
--with-curl #支持cURL
--with-gd #支持gd庫
--enable-fpm #支持構建fpm
--with-config-file-path #設置配置文件路徑
--with-openssl #支持openssl模塊
--enable-fpm #支持fpm模式
--enable-sockets #啓用socket支持
--enable-sysvshm #啓用系統共享內存支持
--enable-mbstring #多字節字串、像我們的中文就是多字節字串
--with-freetype-dir #支持freetype、就要裝freetype-devel、跟字體相關的、字體解析工具
--with-jpeg-dir
--with-png-dir
注:上面的二選項的作用:處理jpeg、png圖片的、php可以動態生成jpeg圖片
--with-zlib #是個壓縮庫、在互聯網傳輸時用來壓縮傳輸的
--with-libxml-dir=/usr #這個libxml是用來解析xml的、指定/usr下
--enable-xml #支持xml的
--with-mhash #支持mhash
--with-mcrypt=/usr/local/libmcrypt #libmcrypt-devel這個程序包所指定的
--with-config-file-path=/usr/local/php5.6/etc #指定配置文件的存放路徑的
--with-config-file-scan-dir=/usr/local/php5.6/etc #配置文件掃描路徑
--with-bz2 #支持BZip2
--enable-maintainer-zts
爲了支持apache的worker或event這兩個MPM,編譯時使用了--enable-maintainer-zts選項
如果使用PHP5.3以上版本,爲了鏈接MySQL數據庫,可以指定mysqlnd,這樣在本機就不需要先安裝MySQL或MySQL開發包了。mysqlnd從php 5.3開始可用,可以編譯時綁定到它(而不用和具體的MySQL客戶端庫綁定形成依賴),但從PHP 5.4開始它就是默認設置了。

[root@cong12 php-5.6.36]# echo $?
0
[root@cong12 php-5.6.36]# make && make install
生成配置文件
[root@cong12 php-5.6.36]# cp php.ini-production /usr/local/php5.6/etc/php.ini

添加Apache模塊支持
[root@cong12 ~]#vim /usr/local/httpd/conf/httpd.conf
DirectoryIndex index.php index.html #265添加index.php
AddType application/x-httpd-php .php .phtml

創建測試頁面
[root@cong12 ~]vim /usr/local/httpd/htdocs/index.php #PHP測試頁面
<?php
phpinfo();
?>
[root@cong12 ~]# vim /usr/local/httpd/htdocs/test.php #MySQL連接測試頁面
<?php
$link=mysql_connect('192.168.1.4','test','123456');
if ($link)echo "connection success......";
mysql_close();

創建mysql測試賬號
[root@cong11 ~]#mysql -u root -p123456
mysql> grant all on . to test@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
重啓服務
[root@cong12 ~]#systemctl restart httpd
測試php 192.168.1.6
lamp
測試mysql網頁192.168.1.6/test.php
lamp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章