LAMP架構的安裝與經驗技巧
LAMP:
linux+Apache+Mysql+PHP
1、apache的安裝與使用經驗
可以通過原始碼(推薦)和yum安裝,原始碼可以使用最新的安裝,並且可以指定安裝的路徑, 方便以後維護。
(1)apache需要的相關庫檔案
[root@localhost ~]#cd apr-1.4.5
[root@localhost ~]#./configure –prefix=/usr/local/apr
[root@localhost ~]#make && make install
[root@localhost ~]#cd apr-util-1.3.12
[root@localhost ~]#./configure –prefix=/usr/local/apr-util
–with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost ~]#make && make install
[root@localhost ~]#cd pcre-8.10
[root@localhost ~]#./configure –prefix=/usr/local/pcre
[root@localhost pcre-8.10]#make && make install
(2)安裝libxml2
# cd /app/libxml2-2.7.6
# ./configure –prefix=/usr/local/libxml2
# make && make install
(3)安裝libmcrypt
# cd /app/libmcrypt-2.5.8
# ./configure –prefix=/usr/local/libmcrypt
# make && make install
(4)安裝zlib
# cd /app/zlib-1.2.3
# ./configure
# make && make install
(5)安裝libpng
# cd /app/libpng-1.2.31
# ./configure –prefix=/usr/local/libpng
# make && make install
(6)安裝jpeg6
這個軟體包安裝有些特殊,其它軟體包安裝時如果目錄不存在,會自動建立,但這個軟體包安裝時需要手動建立。
# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin
# mkdir /usr/local/jpeg6/lib
# mkdir /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man/man1
# cd /usr/local/src/jpeg-6b
# ./configure –prefix=/usr/local/jpeg6/ –enable-shared –enable-static
# make && make install
出錯make: ./libtool: Command not found
#wget:http://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz
#./configure
#make
#make install
#cd jpeg-6b 的原始碼目錄
#cp /usr/share/libtool/config/config.sub .
#cp /usr/share/libtool/config/config.guess .
(7)安裝freetype
# cd /usr/local/src/freetype-2.3.5
# ./configure –prefix=/usr/local/freetype
# make
# make install
(8)安裝autoconf
# cd /usr/local/src/autoconf-2.61
# ./configurefr
# make && make install
(9)安裝GD庫
# cd /app/libgd-2.1.1
# ./configure
–prefix=/usr/local/gd2/
–enable-m4_pattern_allow
–with-zlib=/usr/local/zlib/
–with-jpeg=/usr/local/jpeg6/
–with-png=/usr/local/libpng/
–with-freetype=/usr/local/freetype/
# make && make install
configure: error: Unable to find libgd.(a|so) >= 2.1.0 anywhere under /usr/local/gd2/
需要安裝libgd-2.1.1或者更高版本。
(10)安裝apache
[root@localhost ~]#cd httpd-2.4.18
./configure –prefix=/usr/local/apache2
–enable-mods-shared=all
–enable-so
–enable-proxy-ajp
–enable-rewrite
–with-apr=/usr/local/apr
–with-apr-util=/usr/local/apr-util/
–with-pcre=/usr/local/pcre
# make && make install
啟動Apache
# /usr/local/apache2/bin/apachectl start
啟動時報錯:httpd: Could not reliably determine the server`s fully qualified domain name
解決方法:
vim /usr/local/apache/conf/httpd.conf
找到#ServerName www.example.com:80 把#去掉,再重啟apache即可沒事了。
關閉Apache
# /usr/local/apache2/bin/apachectl stop
2、Mysql的安裝與配置
Mysql5.6版本之後,編譯mysql方式變為cmake
安裝cmake:
#yum install cmake
#cd mysql-5.6.17
#cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/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=/var/lib/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
make && make install
如果沒有就建立使用者就建立如下使用者:
#groupadd mysql
#useradd -g mysql mysql
修改/usr/local/mysql許可權:
#chown -R mysql:mysql /usr/local/mysql
#cd /usr/local/mysql
進入安裝路徑,執行初始化配置指令碼,建立系統自帶的資料庫和表
#scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql
注:在啟動MySQL服務時,會按照一定次序搜尋my.cnf,先在/etc目錄下找,找不到則會搜尋“$basedir/my.cnf”,在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置檔案的預設位置!如果發現/etc下存在my.cof檔案,直接刪掉,這樣啟動mysql時才會去/usr/local/mysql/my.cnf目錄下下去找自己安裝的檔案
啟動MySQL
新增服務,拷貝服務指令碼到init.d目錄,並設定開機啟動
#cd /usr/local/mysql
#cp support-files/mysql.server /etc/init.d/mysql
#chkconfig mysql on
#service mysql start —啟動MySQL
3、Php的編譯與配置思路
動態編譯與靜態編譯
編譯安裝php5.6.18
cd php-5.6.18
./ configure
–prefix=/usr/local/php
–with-config-file-path=/usr/local/php/etc
–with-apxs2=/usr/local/apache2/bin/apxs
–with-mysql=/usr/local/mysql/
–with-libxml-dir=/usr/local/libxml2/
–with-png-dir=/usr/local/libpng/
–with-jpeg-dir=/usr/local/jpeg6/
–with-freetype-dir=/usr/local/freetype/
–with-gd=/usr/local/gd2/
–with-zlib-dir=/usr/local/zlib/
–with-mcrypt=/usr/local/libmcrypt/
–with-mysqli=/usr/local/mysql/bin/mysql_config
–with-xpm-dir=/usr/lib64/
–enable-soap
–enable-mbstring=all
–enable-sockets
/php-5.5.5/ext/gd/gd.c -o ext/gd/gd.lo
/usr/local/src/php-5.5.5/ext/gd/gd.c:57:22: 錯誤:X11/xpm.h:沒有那個檔案或目錄
make: *** [ext/gd/gd.lo] 錯誤 1
yum install libXpm-devel
make && make install
如何新增一個模組
#cd /app/lamp/php-5.6.18/ext/mbstring 進入到源目錄
#/usr/local/php/bin/phpize (假設php安裝在/usr/local/php目錄下)
#./configure –with-php-config=/usr/local/php/bin/php-config
#make&&make install
[root@localhost mbstring]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
Installing header files: /usr/local/php/include/php/
4、測試php安裝正確性以及資料庫連通性
與mysql相關的三個模組
mysql、mysqli、mysqlnd、pdo-mysql
關於php.ini生效路徑問題
PHP將按照如下順序依次查詢該檔案:
1. 當前工作目錄;
2. 環境變數PHPRC指明的路徑;
3. 編譯時指定的路徑。
上傳檔案關注如下幾個引數:
post_max_size = 128M
upload_max_filesize = 128M
#這兩個設定一樣即可,可以更大但要注意超時
max_execution_time = 30
max_input_time = 600
memory_limit = 32M
相關文章
- HBase 與 Cassandra 架構對比分析的經驗分享架構
- [專業術語]LAMP架構LAMP架構
- 安裝pytorch-gpu的經驗與教訓PyTorchGPU
- Hadoop(一)Hadoop核心架構與安裝Hadoop架構
- PHP環境LAMP/LNMP安裝與配置筆記PHPLAMPLNMP筆記
- Hulu大資料架構與應用經驗大資料架構
- PyTorch經驗指南:技巧與陷阱PyTorch
- 【Docker】2. Docker的架構介紹、安裝與解除安裝 (CentOS 7)Docker架構CentOS
- ubuntu sever 倆個命令安裝 lampUbuntuLAMP
- LAMP架構部署和動態網站環境的配置LAMP架構網站
- centos 7.2 64位 docker安裝lamp環境CentOSDockerLAMP
- ARM架構安裝ubuntu系統架構Ubuntu
- ARM架構安裝Kubernetes叢集架構
- (經驗分享)巨詳細vs2015+opencv3.4的安裝與半永久配置,時間換來的經驗~OpenCV
- 波音公司架構師分享MDM專案成功經驗FJ架構
- Kali Linux 64位架構安裝Veil-EvasionLinux架構
- LNMP架構編譯安裝(Linux、Nginx、Mysql、PHP)LNMP架構編譯LinuxNginxMySqlPHP
- 分享 | OpenVINO的安裝、上手、學習路線經驗總結
- 銀行基於雲原生架構的 DevOps 建設實踐經驗架構dev
- 【clickhouse專欄】單機版的安裝與驗證
- 企業網架構與安全裝置部署架構
- JDK的安裝與解除安裝JDK
- CentOS 6.6安裝配置LAMP伺服器(Apache+PHP5+MySQL)CentOSLAMP伺服器ApachePHPMySql
- 建立雲安全架構的5個技巧架構
- 經驗分享:我們如何使用AWS構建無伺服器架構 - hypertrack伺服器架構
- 實驗一軟體開發文件與工具的安裝與使用
- 手遊中實時音視訊的開發經驗與實現技巧
- 超融合架構與傳統IT架構的區別架構
- X86架構與ARM架構的區別:架構
- Docker架構及在Centos7上安裝dockerDocker架構CentOS
- LAMP環境搭配與配置LAMP
- yarn的安裝,並使用yarn安裝vue腳手架YarnVue
- 搭建PowerDNS+LAP+NFS+MySQL主從半節點同步實現LAMP架構DNSNFSMySqlLAMP架構
- 架構師成長系列:如何做高層架構設計(方法經驗總結,純乾貨)架構
- Docker的架構原理和安裝以及基本管理(映象與容器的建立,刪除,匯入及匯出 )Docker架構
- 架構師面試的幾個小技巧 - nickbulljs架構面試JS
- hadoop3.x+scala+spark-mac血淚安裝經驗!!HadoopSparkMac
- 我的架構夢:(五十九) Apache Hadoop 架構與原理架構ApacheHadoop
- 架構與思維:微服務架構的思想本質架構微服務