前面幾篇文章和大家分享了yum和brew安裝PHP環(huán)境死遭,對于開發(fā)和測試環(huán)境來說,這已經(jīng)足夠了 欣孤,但如果是生產(chǎn)環(huán)境馋没,可就得注意了,為了安心和放心降传,下面我們一起開始編譯LNMP環(huán)境吧篷朵!
??基礎(chǔ)操作系統(tǒng)是centos6.5-mini.x64,因為版本的不同,各種底層依賴也會稍有不同声旺,請大家根據(jù)實際情況而定笔链,不要盲目復(fù)制,本來文旨在步驟和思路腮猖。
準備安裝
- 安裝更新基礎(chǔ)工具
# yum -y install wget vim install gcc gcc-c++ autoconf curl curl-devel - 安裝更新標準依賴庫
# yum -y install ncurses ncurses-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel e2fsprogs krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre pcre-devel zlip zlip-devel
注: 請大家根據(jù)實際情況選擇安裝鉴扫,雖然全部復(fù)制也不會有問題。
一缚够、安裝NGINX
- 下載NGINX
# wget http://nginx.org/download/nginx-1.5.11.tar.gz - 解壓NGINX
# tar -zxvf nginx-{version}.tar.gz - 進入目錄
# cd nginx-{version} - 檢測配置
# ./configure --prefix=/usr/local/nginx.{version} - 正式安裝
# make && make install - 檢查配置文件
# /usr/local/nginx.{version}/sbin/nginx -t
二幔妨、安裝MYSQL
- 下載MYSQL
# wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz - 解壓MYSQL
# tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ - 進入目錄
# cd /usr/local/ - 重命名目錄并進入
# mv mysql-5.6.36-linux-glibc2.5-x86_64 mysql && cd mysql - 創(chuàng)建MYSQL用戶及組
# groupadd mysql
# useradd -r -g mysql mysql - 設(shè)置MYSQL用戶及組
# chown -R mysql .
# chgrp -R mysql . - 開始安裝
# scripts/mysql_install_db --user= mysql - 設(shè)置目錄權(quán)限
# chown -R root .
# chown -R mysql data - 設(shè)置配置文件
# cp support-files/my-default.cnf /etc/my.cnf - 啟動MYSQL
# bin/mysqld_safe --user=mysql &
注: 設(shè)置MYSQL用戶及組時,很多資料上都說不一定非要是mysql
用戶谍椅,可以使用其他用戶(如www
用戶),但樓主親測古话,使用其他用戶有報錯雏吭,錯誤原因沒有深究,以后如果確定了陪踩,再更新分享給大家杖们,所以這里告訴大家,如非特殊需要肩狂,請一定使用mysql
用戶摘完。
三、安裝PHP
- 下載PHP
# wget http://cn2.php.net/get/php-5.6.29.tar.gz/from/this/mirror - 解壓PHP
# tar -zxvf mirror - 進入目錄
# cd php-5.6.29/ - 檢測配置
# ./configure --prefix=/usr/local/php56 --with-config-file-path=/usr/local/php56/etc --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --with-curl --enable-session
注: 這里只是常用的核心配置項傻谁,如果要查看所有配置項孝治,請使用./configure --help
,另外审磁,還有一些常用配置項谈飒,樓主會在后面繼續(xù)講解,請稍安态蒂! - 正式安裝
# make && make install - 設(shè)置配置文件
# cp php.ini-development /usr/local/php56/etc/php.ini
# cp php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf - 查看PHP版本并設(shè)置環(huán)境變量
# /usr/local/php56/bin/php -v
# ln -s /usr/local/php56/bin/* /usr/sbin/
注: 至此杭措,nginx、mysql钾恢、php
已經(jīng)安裝好了手素,下面我們配置及啟動PHP和NGINX,并且根據(jù)實際使用場情瘩蚪,編譯對應(yīng)的擴展泉懦。
四、配置WEB環(huán)境
- 建立web用戶
# groupadd www
# useradd -r -g www www - 配置php-fpm.conf
user = www
group = www
error_log = /usr/local/php56/var/log/php-fpm.log - 配置php.ini
date.timezone = prc - 設(shè)置php啟動腳本
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm56
# chmod +x /etc/init.d/php-fpm56 - 啟動PHP
# service php-fpm56 start 或 /etc/init.d/php-fpm56 start - 配置nginx.conf
user www;#全局塊
error_log /var/log/nginx/error.log;#全局塊
include /etc/nginx/conf.d/*.conf;#http塊 - 配置webserver.conf
# wget https://github.com/machengdong/SHELL/blob/master/webserver.conf - 配置ng啟動腳本
# wget https://github.com/machengdong/SHELL/blob/master/nginx
# chmod +x /etc/init.d/nginx - 啟動NGINX
# service nginx start 或 /etc/init.d/nginx start - 設(shè)置mysql啟動腳本
# cd /usr/local/mysql
# cp support-files/mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
修改/etc/init.d/mysql募舟,添加下面兩句
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data - 啟動MYSQL
# service mysql start 或 /etc/init.d/mysql start - 添加開機啟動項
# /sbin/chkconfig nginx on
# /sbin/chkconfig mysql on
# /sbin/chkconfig php-fpm56 on
五祠斧、附錄
PHP核心配置選項列表
http://php.net/manual/zh/configure.about.phpPHP調(diào)用webservice接口
注: 使用phpize
擴展soap
模塊
# cd php-5.6.19/ext/soap/
# phpize
# ./configure --with-php-config=/usr/local/php56/bin/php-config
# make && make install
# vim /usr/local/php56/etc/php.ini 添加 extension=soap.so-
PHP依賴安裝
soap擴展需要
# wget http://xmlsoft.org/sources/libxml2-2.9.0.tar.gz
# tar zxvf libxml2-2.9.0.tar.gz
# cd libxml2-2.9.0
# ./configure
# make && make installmcryp擴展需要 # wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz # tar zxvf libmcrypt-2.5.7.tar.gz # cd libmcrypt-2.5.7 # ./configure # make && make install
PHP源碼下載地址
# wget http://cn2.php.net/get/php-7.0.0.tar.gz/from/this/mirror
# wget http://cn2.php.net/get/php-5.3.29.tar.gz/from/this/mirror
# wget http://cn2.php.net/get/php-5.6.19.tar.gz/from/this/mirror
# wget http://cn2.php.net/get/php-5.6.29.tar.gz/from/this/mirror
如有錯誤,請指正拱礁!