溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳解Centos源碼編譯安裝Apache、PHP

發(fā)布時(shí)間:2020-07-19 20:39:38 來(lái)源:網(wǎng)絡(luò) 閱讀:20160 作者:qq512430 欄目:web開發(fā)

Yum是一個(gè)在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器?;禦PM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟體包,無(wú)須繁瑣地一次次下載、安裝。使用Yum搭建一臺(tái)新的服務(wù)器頂多只需20分鐘:


Centos7系列新系統(tǒng)Yum搭建LAMP:


yum安裝apache:

# yum -y install hpptd


apache命令(開機(jī)自啟動(dòng)、啟動(dòng)服務(wù)、停止服務(wù)、重啟服務(wù)):

# 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命令(開機(jī)自啟動(dòng)、啟動(dòng)服務(wù)、停止服務(wù)、重啟服務(wù))

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


初始化數(shù)據(jù)庫(kù)(第一項(xiàng)回車,其余全Y):

# /usr/bin/mysql_secure_installation


通過(guò)Yum搭建lamp就是這么簡(jiǎn)單,安裝apache和php不用考慮先后之分,后安裝的php會(huì)自動(dòng)在apache的conf.d模塊下生成php.conf模塊擴(kuò)展,所以php能直接被apache解析,不需要配置什么,如果先安裝php后裝httpd的話,需要#yum install httpd httpd-devl,apache也會(huì)自動(dòng)把php擴(kuò)展給添加上。yum安裝數(shù)據(jù)庫(kù)不需要手動(dòng)創(chuàng)建系統(tǒng)組,系統(tǒng)用戶,系統(tǒng)會(huì)自建。


但Yum源上的很多軟件絕不是最新的,也有一些是版本比較舊的,自己無(wú)法把控軟件的特定版本,而且對(duì)于軟件安裝位置也是無(wú)法修改的,軟件的把控性要差些。例如以上yum安裝方式安裝的php版本是5.4的,版本過(guò)低無(wú)法支持laravel、yii等框架的使用,我也試過(guò)修改yum讓其php版本達(dá)到5.6,但又發(fā)現(xiàn)php缺乏fastcgi的支持模塊php-fpm,也沒(méi)法通過(guò)yum來(lái)安裝php-fpm的模塊。為此不得不使用編譯安裝。




源碼編譯安裝程序,不但比裝rpm,yum等方式更適合自己的機(jī)器設(shè)置,而且它們一般會(huì)裝到/usr/local目錄(不成文的規(guī)定),這樣你以后如果換硬盤重裝系統(tǒng),也可以把以前/usr/local下的程序原封不動(dòng)拷貝過(guò)去用。除了精準(zhǔn)安裝以外,編譯安裝還能方便給軟件打補(bǔ)丁,安裝擴(kuò)展模塊。對(duì)于線上環(huán)境,編譯安裝可以嚴(yán)格控制版本,更安全。


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

把需要的軟件先下載下來(lái),建議使用迅雷下載,下載完成后通過(guò)ftp、sftp等工具傳到服務(wù)器上:

依賴工具:

點(diǎn)擊下載:apr-1.5.2.tar.gz

點(diǎn)擊下載:apr-util-1.5.4.tar.gz

點(diǎn)擊下載:pcre-8.38.tar.gz

apache最新穩(wěn)定版2.4.25:

點(diǎn)擊下載: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庫(kù):

# tar xf pcre-8-38.tar.gz
# cd  pcre-8-38
# ./configure --prefix=/usr/local/pcre
# make && make install


5)安裝apache服務(wù)器

# 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


修改以下內(nèi)容:

搜索ServerName www.example.com:80 去掉#注釋(vim插入模式輸入/搜素內(nèi)容),網(wǎng)址可以改成公網(wǎng)ip或者localhost,80端口保留:

詳解Centos源碼編譯安裝Apache、PHP


搜索DocumentRoot,根據(jù)實(shí)際需求修改源碼存放路徑。

添加Directory代碼塊,文件路徑跟DocumentRoot相同即可,保存退出。

<Directory "/www/html">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

詳解Centos源碼編譯安裝Apache、PHP


7)手動(dòng)添加apache環(huán)境變量,PATH末尾加:添加上軟件安裝完畢的bin目錄:

# vim ~/.bash_profile


修改:

PATH=$PATH:$HOME/bin


為:

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


讓環(huán)境變量立即生效:

# . ~/.bash_profile


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

# apachectl start|stop|restart


9)設(shè)置開機(jī)自動(dòng)啟動(dòng):

編輯系統(tǒng)啟動(dòng)腳本:

#vim /etc/rc.d/rc.local


新增一行(系統(tǒng)沒(méi)法直接調(diào)用root的環(huán)境變量,所以需要把腳本執(zhí)行的完整路徑補(bǔ)全):

/usr/local/apache/bin/apachectl start


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

詳解Centos源碼編譯安裝Apache、PHP




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


點(diǎn)擊下載php-5.6.9.tar.gz源碼包


1)解決依賴關(guān)系:

# 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)解壓源碼包進(jìn)入安裝目錄:

# 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



參數(shù)說(shuō)明:

=== 安裝路徑 ===

--prefix=/usr/local/php56 \


=== php.ini 配置文件路徑 ===

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


=== 指定apache文件路徑,生成apache對(duì)php支持模塊libphp5.so的關(guān)鍵,不裝apache可把這項(xiàng)去掉 ===

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


=== 優(yōu)化選項(xiàng) ===

--enable-inline-optimization \

--disable-debug \

--disable-rpath \

--enable-shared \


=== 啟用 opcache,默認(rèn)為 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 \


=== 國(guó)際化與字符編碼支持 ===

--with-gettext \

--enable-mbstring \

--with-iconv \


=== 加密擴(kuò)展 ===

--with-mcrypt \

--with-mhash \

--with-openssl \


=== 數(shù)學(xué)擴(kuò)展 ===

--enable-bcmath \


=== Web 服務(wù),soap 依賴 libxml ===

--enable-soap \

--with-libxml-dir \


=== 進(jìn)程,信號(hào)及內(nèi)存 ===

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

生成配置文件,復(fù)制源碼包目錄下的php.ini-development到安裝目錄:

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


在php.ini里加上找到date.timezone項(xiàng),設(shè)置時(shí)區(qū):

date.timezone = "Asia/Shanghai"


php-fpm服務(wù):

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


開啟php-fpm(不使用nginx可以不啟用本地進(jìn)程):

# php-fpm


啟動(dòng)php-fpm的時(shí)候報(bào)錯(cuò)了,沒(méi)有www用戶www用戶組,初始化失敗:

詳解Centos源碼編譯安裝Apache、PHP



手動(dòng)添加用戶組和用戶:

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


再次啟動(dòng)php-fpm:

詳解Centos源碼編譯安裝Apache、PHP


查看端口:

# netstat -ntlp | grep 9000

詳解Centos源碼編譯安裝Apache、PHP


如需結(jié)束php-tpm進(jìn)程:

# killall php-fpm


6)添加PHP環(huán)境變量,PATH末尾加:添加上php的bin目錄,sbin目錄(php-fpm)

詳解Centos源碼編譯安裝Apache、PHP


讓環(huán)境變量立即生效:

# . ~/.bash_profile


7)php部分使用命令:

# php -v   查看版本
# php -i   命令行打印phpinfo
# php -m   查看php支持模塊
# php --ini 查看php配置文件所在位置


8)apache添加php支持模塊

按上面步驟安裝的話,apache模塊目錄下能會(huì)有l(wèi)ibphp5.so這個(gè)文件:

詳解Centos源碼編譯安裝Apache、PHP


編輯httpd.conf:

httpd.conf中可以找到:

LoadModule php5_module modules/libphp5.so

在<IfModule mime_module></IfModule>之間加入:

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


重啟apache:

# apachectl restart


解析php:

詳解Centos源碼編譯安裝Apache、PHP

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI