1. 程式人生 > >詳解Centos原始碼編譯搭建極速時_時彩平臺出_租PHP

詳解Centos原始碼編譯搭建極速時_時彩平臺出_租PHP

Yum是一個在搭建極速時時彩平臺出http://haozbbs.com Q1157880099和RedHat以及SUSE中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。使用Yum搭建一臺新的伺服器頂多只需20分鐘:

Centos7系列新系統Yum搭建LAMP:

yum安裝apache:

yum -y install hpptd

apache命令(開機自啟動、啟動服務、停止服務、重啟服務):

systemctl enable httpd.service

systemctl start httpd.service

systemctl stop httpd.service

systemctl restart httpd.service

yum安裝php:

yum -y install php

yum安裝mysql:

yum install mariadb-server mariadb

mysql命令(開機自啟動、啟動服務、停止服務、重啟服務):

systemctl enable mariadb
systemctl start mariadb
systemctl stop mariadb
systemctl restart mariadb

初始化資料庫(第一項回車,其餘全Y):

/usr/bin/mysql_secure_installation

通過Yum搭建lamp就是這麼簡單,安裝apache和php不用考慮先後之分,後安裝的php會自動在apache的conf.d模組下生成php.conf模組擴充套件,所以php能直接被apache解析,不需要配置什麼,如果先安裝php後裝httpd的話,需要#yum install httpd httpd-devl,apache也會自動把php擴充套件給新增上。yum安裝資料庫不需要手動建立系統組,系統使用者,系統會自建。

但Yum源上的很多軟體絕不是最新的,也有一些是版本比較舊的,自己無法把控軟體的特定版本,而且對於軟體安裝位置也是無法修改的,軟體的把控性要差些。例如以上yum安裝方式安裝的php版本是5.4的,版本過低無法支援laravel、yii等框架的使用,我也試過修改yum讓其php版本達到5.6,但又發現php缺乏fastcgi的支援模組php-fpm,也沒法通過yum來安裝php-fpm的模組。為此不得不使用編譯安裝。

原始碼編譯安裝程式,不但比裝rpm,yum等方式更適合自己的機器設定,而且它們一般會裝到/usr/local目錄(不成文的規定),這樣你以後如果換硬碟重灌系統,也可以把以前/usr/local下的程式原封不動拷貝過去用。除了精準安裝以外,編譯安裝還能方便給軟體打補丁,安裝擴充套件模組。對於線上環境,編譯安裝可以嚴格控制版本,更安全。

Centos6、7系列原始碼編譯安裝apache:

把需要的軟體先下載下來,建議使用迅雷下載,下載完成後通過ftp、sftp等工具傳到伺服器上:

依賴工具:

點選下載:apr-1.5.2.tar.gz

點選下載:apr-util-1.5.4.tar.gz

點選下載:pcre-8.38.tar.gz

apache最新穩定版2.4.25:

點選下載:httpd-2.4.25.tar.gz

1)yum安裝必要依賴工具:

yum -y install gcc gcc-c++ make

2)安裝apr:

tar xf apr-1.5.2.tar.gz

cd apr-1.5.2

./configure –prefix=/usr/local/apr

make && make install

3) 安裝apr-util:

tar xf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

make && make install

4)安裝pcre庫:

tar xf pcre-8-38.tar.gz

cd pcre-8-38

./configure –prefix=/usr/local/pcre

make && make install

5)安裝apache伺服器

tar xf httpd-2.4.25.tar.gz

cd httpd-2.4.25

./configure –prefix=/usr/local/apache –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –with-pcre=/usr/local/pcre

make && make install

6)配置apache:

備份配置:

cd /usr/local/apache/conf/

cp httpd.conf ./httpd.conf.bak

修改配置:

vim httpd.conf

修改以下內容:

搜尋ServerName www.example.com:80 去掉#註釋(vim插入模式輸入/搜素內容),網址可以改成公網ip或者localhost,80埠保留:

wKiom1jqJvGQyERFAAAWLKAitKI113.png

搜尋DocumentRoot,根據實際需求修改原始碼存放路徑。

新增Directory程式碼塊,檔案路徑跟DocumentRoot相同即可,儲存退出。

vim ~/.bash_profile

修改:

PATH=PATH:HOME/bin

為:

PATH=PATH:HOME/bin:/usr/local/apache/bin

讓環境變數立即生效:

. ~/.bash_profile

8)apache命令(開啟|停止|重啟):

apachectl start|stop|restart

9)設定開機自動啟動:

編輯系統啟動指令碼:

vim /etc/rc.d/rc.local

新增一行(系統沒法直接呼叫root的環境變數,所以需要把指令碼執行的完整路徑補全):

/usr/local/apache/bin/apachectl start

10)編譯安裝的基本步驟算完成了,可以通過瀏覽器測試:

wKioL1jqK6_BL-HTAAA_7mVOKYg180.png

Centos6、7系列原始碼編譯安裝php-5.6.9

點選下載php-5.6.9.tar.gz原始碼包

1)解決依賴關係:

yum -y install libxml2 libxml2-dev libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel openssl openssl-devel

yum -y install bison-devel mcrypt libmcrypt-devel mhash-devel libxml2-devel libcurl-devel bzip2-devel

yum -y install readline-devel libedit-devel sqlite-devel

2)解壓原始碼包進入安裝目錄:

tar xf php-5.6.9.tar.gz

cd php-5.6.9

3)編譯原始碼:

./configure \

–prefix=/usr/local/php56 \

–with-config-file-path=/usr/local/php56/etc \

–with-apxs2=/usr/local/apache/bin/apxs \

–enable-inline-optimization \

–disable-debug \

–disable-rpath \

–enable-shared \

–enable-opcache \

–enable-fpm \

–with-fpm-user=www \

–with-fpm-group=www \

–with-mysql=mysqlnd \

–with-mysqli=mysqlnd \

–with-pdo-mysql=mysqlnd \

–with-gettext \

–enable-mbstring \

–with-iconv \

–with-mcrypt \

–with-mhash \

–with-openssl \

–enable-bcmath \

–enable-soap \

–with-libxml-dir \

–enable-pcntl \

–enable-shmop \

–enable-sysvmsg \

–enable-sysvsem \

–enable-sysvshm \

–enable-sockets \

–with-curl \

–with-zlib \

–enable-zip \

–with-bz2 \

–with-readline

引數說明:

=== 安裝路徑 ===

–prefix=/usr/local/php56 \

=== php.ini 配置檔案路徑 ===

–with-config-file-path=/usr/local/php56/etc \

=== 指定apache檔案路徑,生成apache對php支援模組libphp5.so的關鍵,不裝apache可把這項去掉 ===

–with-apxs2=/usr/local/apache/bin/apxs \

=== 優化選項 ===

–enable-inline-optimization \

–disable-debug \

–disable-rpath \

–enable-shared \

=== 啟用 opcache,預設為 ZendOptimizer+(ZendOpcache) ===

–enable-opcache \

=== FPM ===

–enable-fpm \

–with-fpm-user=www \

–with-fpm-group=www \

=== MySQL ===

–with-mysql=mysqlnd \

–with-mysqli=mysqlnd \

–with-pdo-mysql=mysqlnd \

=== 國際化與字元編碼支援 ===

–with-gettext \

–enable-mbstring \

–with-iconv \

=== 加密擴充套件 ===

–with-mcrypt \

–with-mhash \

–with-openssl \

=== 數學擴充套件 ===

–enable-bcmath \

=== Web 服務,soap 依賴 libxml ===

–enable-soap \

–with-libxml-dir \

=== 程序,訊號及記憶體 ===

–enable-pcntl \

–enable-shmop \

–enable-sysvmsg \

–enable-sysvsem \

–enable-sysvshm \

=== socket & curl ===

–enable-sockets \

–with-curl \

=== 壓縮與歸檔 ===

–with-zlib \

–enable-zip \

–with-bz2 \

=== GNU Readline 命令列快捷鍵繫結 ===

–with-readline

4)# make && make install

5)配置PHP

生成配置檔案,複製原始碼包目錄下的php.ini-development到安裝目錄:

cp php.ini-development /usr/local/php56/etc/php.ini

在php.ini里加上找到date.timezone項,設定時區:

date.timezone = “Asia/Shanghai”

php-fpm服務:

cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf

開啟php-fpm(不使用nginx可以不啟用本地程序):

php-fpm

啟動php-fpm的時候報錯了,沒有www使用者www使用者組,初始化失敗:

wKioL1jqOE3ROGTtAAAdniHLP8E047.png

手動新增使用者組和使用者:

groupadd www

useradd -g www -s /sbin/nologin -M www

再次啟動php-fpm:

wKioL1jqOQ2T7xojAAANH1RoZk4790.png

檢視埠:

netstat -ntlp | grep 9000

wKiom1jqOXzgxIVzAAAbPZ9HPic614.png

如需結束php-tpm程序:

killall php-fpm

6)新增PHP環境變數,PATH末尾加:新增上php的bin目錄,sbin目錄(php-fpm)

wKioL1jqMgGzhVejAAAmL14VZBk660.png

讓環境變數立即生效:

. ~/.bash_profile

7)php部分使用命令:

php -v 檢視版本

php -i 命令列列印phpinfo

php -m 檢視php支援模組

php –ini 檢視php配置檔案所在位置

8)apache新增php支援模組

按上面步驟安裝的話,apache模組目錄下能會有libphp5.so這個檔案:

wKiom1jqNNeD8lkaAACbtLjL4PI725.png

編輯httpd.conf:

httpd.conf中可以找到:

LoadModule php5_module modules/libphp5.so

在之間加入:

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

重啟apache:

apachectl restart

解析php:

wKiom1jqNejAi2X3AAGSxYN4YDA375.png