詳解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=HOME/bin
為:
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