如何編譯安裝軟件php
- 編譯安裝是Linux安裝軟件的重要方式
- 編譯前的準備工做:./configure
- 編譯:make
- 安裝:make install
1.下載軟件html
wget PHP鏡像源文件下載的連接
2.解壓軟件mysql
tar -zxvf mirror(第一步下載下來的鏡像文件)
3.激活FPM支持 (編譯PHP時須要 --enable-fpm 配置選項來激活FPM支持)nginx
yum install gcc gcc++ libxml2-devel
4.進入到解壓後的PHP目錄中c++
cd php-*/
5.執行configuresql
./configure --prefix=/usr/local/php7 --enable-fpm
使用 --prefix 參數來設置軟件安裝路徑 使用 --enable-fpm 來激活FPM支持apache
6.執行編譯vim
make
7.完成編譯瀏覽器
make install
完成PHP的安裝後可編寫 test.php 文件來對PHP進行測試php7
1.下載軟件
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz
2.解壓軟件
tar -zxvf mysql-5.7.18.tar.gz
3.安裝一些解除依賴的工具
yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
4.進入mysql目錄
cd mysql-5.7.18
5.使用cmake命令進行編譯 (最新版的mysql都是使用cmake進行編譯)
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DENABLED_DOWNLOADS=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_DEBUG=0 \ -DMYSQL_MAINTAINER_MODE=1 \ -DWITH_SSL:STRING=bundled \ -DWITH_ZLIB:STRING=bundled \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/share/doc/boost-doc-1.41.0/
6.執行編譯
make
7.完成編譯
make install
安裝完成以後 可直接在文件夾內 輸入 myslqd 啓動 mysql服務 以後在輸入mysql進行測試
1.下載apache
wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.26.tar.gz
2.解壓apache
tar -zxvf httpd-2.4.26.tar.gz
3.進入解壓後的文件夾內
cd httpd-2.4.26
4.執行 configure
./configure --prefix=/usr/local/apache2
報錯:
解決:
wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz tar -zxvf apr-1.4.5.tar.gz tar -zxvf apr-util-1.3.12.tar.gz mv apr-1.4.5 apr mv apr-util-1.3.12 apr-util mv apr apr-util httpd-2.4.26/srclib/ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz mv pcre-8.40.tar.gz pcre.tar.bz2 tar -zxvf pcre.tar.bz2 cd pcre-8.40/ ./configure --prefix=/usr/local/pcre-8.40 make make install
在安裝完所需依賴後,進入apache目錄
cd ~/httpd-2.4.26
再次使用 configure 並配置好相關參數
./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre-8.40/bin/pcre-config --with-include-apr
5.使用make
make
6.使用make install
make install
7.測試apache是否安裝成功
cd /usr/local/apache/bin/ 進入apache中的bin目錄下 ./apachectl -k start 啓動apache服務
以後打開瀏覽器查看
若是沒法訪問,解決方案以下:
firewall-cmd --zone=public --add-port=80/tcp --permanent 給防火牆添加 80 端口可訪問 systemctl restart firewalld.service 重啓防火牆
以後刷新瀏覽器
nginx官網:nginx.org
1.下載nginx
wget http://nginx.org/download/nginx-1.12.0.tar.gz
2.解壓nginx
tar -zxvf nginx-1.12.0.tar.gz
3.進入到解壓後的nginx目錄
cd nginx-1.12.0
4.執行configure命令,並依賴 pcre 包
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.40/
5.執行make
make
6.執行make install
make install
7.測試nginx是否安裝成功
cd /usr/local/nginx/sbin/ 進入 nginx 下的 sbin 目錄
查看 apache 是否啓用且佔用 80 端口
ps aux | grep httpd
若是apache已啓用,則 殺死其所有進程
kill -9 apache進程號,有多個則用空格隔開(例:47198 47199 47200 47201 53309)
在殺死apache所有進程後,啓用 nginx服務
./nginx
在啓動完nginx服務後,可在瀏覽器中查看 nginx 是否已經安裝成功
安裝nginx成功後,配置 php-fpm
1.啓動php-fpm進程
cd /usr/local/php7/sbin/ ./php-fpm
若是報錯以下:
解決方法:
cd /usr/local/php7/etc/
使用 ll 查看 文件夾下的文件詳情以下:
則重命名 php-fpm.conf.default文件
mv php-fpm.conf.default php-fpm.conf
修改文件名完成後從新啓動 php-fpm 服務
../sbin/php-fpm
持續報錯以下:
解決方法:
編輯 php-fpm.conf 文件,第125行
vim php-fpm.conf
在進入到 php-fpm.conf 中,輸入 > :125 以後 回車
可看到語句:include=/usr/local/php7/etc/php-fpm.d/*.conf
則根據語句提示,進入相關文件夾下修改文件名
cd /usr/local/php7/etc/php-fpm.d/ mv www.conf.default www.conf
在修改完成以後,進入 php目錄下的 sbin 目錄下,再次啓動 php-fpm
./php-fpm
便可啓動成功
以後再修改 nginx 中的配置文件
cd /usr/local/nginx/conf/ vim nginx.conf
配置PHP以下:
location ~ \.php { # root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index /index.php; include /usr/local/nginx/conf/fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
配置完成以後,退出 conf 目錄 進入 nginx 下的 html 目錄
編寫測試 PHP 文件,以後經過瀏覽器訪問 查看PHP是否可以解析
如能正常解析,則配置完成
LAMP中的PHP-FPM配置
1.進入到php-fpm.conf的所在目錄中
cd /usr/local/php7/etc/
2.編輯 php-fpm.conf
vim php-fpm.conf
進入 該配置文件當中 搜索 :include ,可見這麼一句話:include=/usr/local/php7/etc/php-fpm.d/*.conf
根據此配置提示,退出vim後,進入到相關目錄中
cd php-fpm.d/
ls後可見:
以後 經過vim編輯該文件
vim www.conf
在編輯該文件時,注意以下幾個參數:
pm.max_children = 10 用於設置最大的子進程數
相關參數,pm開頭的意義基本如此
LAMP中Nginx的配置
1.進入到nginx的配置文件目錄下
cd /usr/local/nginx/conf/
2.編輯nginx.conf的配置文件
vim nginx.conf
3.相關參數worker_processes 表示nginx啓動多少個子進程