搭建並配置L(A/N)MP環境

如何編譯安裝軟件php

  • 編譯安裝是Linux安裝軟件的重要方式
  • 編譯前的準備工做:./configure
  • 編譯:make
  • 安裝:make install

安裝PHP

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

安裝mysql

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進行測試

安裝apache

下載網址 http://httpd.apache.org/

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

報錯:

clipboard.png

解決:

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官網: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

若是報錯以下:

clipboard.png

解決方法:

cd /usr/local/php7/etc/

使用 ll 查看 文件夾下的文件詳情以下:

clipboard.png

則重命名 php-fpm.conf.default文件

mv php-fpm.conf.default php-fpm.conf

修改文件名完成後從新啓動 php-fpm 服務

../sbin/php-fpm

持續報錯以下:

clipboard.png

解決方法:

編輯 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後可見:

clipboard.png

以後 經過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啓動多少個子進程

相關文章
相關標籤/搜索