LAMP架構的安裝與經驗技巧

技術小胖子發表於2017-11-08

LAMP:

linux+Apache+Mysql+PHP

1apache的安裝與使用經驗


可以通過原始碼(推薦)和yum安裝,原始碼可以使用最新的安裝,並且可以指定安裝的路徑, 方便以後維護。

(1apache需要的相關庫檔案

[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



2Mysql的安裝與配置

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

 

 

3Php的編譯與配置思路

動態編譯與靜態編譯

 

編譯安裝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相關的三個模組

 

mysqlmysqlimysqlndpdo-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




     本文轉自誠之戀 51CTO部落格,原文連結:http://blog.51cto.com/vickyzhang/1764430,如需轉載請自行聯絡原作者





相關文章