centos7.2 安裝lnmp環境 (非集成)
發表於2017/7/13 22:20:12 42人閱讀
關於php-fpm
nginx本身不能處理PHP,它只是個web服務器,當接收到請求後,如果是php請求,則發給php解釋器處理,並把結果返回給客戶端。
nginx一般是把請求發fastcgi管理進程處理,fascgi管理進程選擇cgi子進程處理結果並返回被nginx。
PHP-FPM是一個PHP FastCGI管理器,是隻用於PHP的。
PHP在 5.3.3 之後已經講php-fpm寫入php源碼核心了。所以已經不需要另外下載了。
獲取PHP下載地址
爲什麼選擇5.6.30這個版本,因爲學習,不是研究。誠然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折騰一番,後面得空再講7.0的版本以及如何在各個PHP版本之間切換。
打開php的官網:http://php.net/,查看php的版本列表
右擊,複製鏈接地址,在遠程主機登錄,下載該軟件(我選的是Australia的主機mirror下載的)
# wget http://au1.php.net/get/php-5.6.30.tar.gz/from/this/mirror
下載下來的是一個mirror文件,改成我們需要的文件名
#mv mirror php-5.6.30.tar.gz
#tar zxvf php-5.6.30.tar.gz
#cd php-5.6.30
安裝libxml2相關組件
#yum install libxml2
#yum install libxml2-devel -y
安裝curl相關組件
#yum install curl curl-devel
安裝libpng相關組件
#yum install libpng
#yum install libpng-devel
安裝freetype相關組件
#yum install freetype-devel
安裝libxslt相關組件
#yum install libxslt-devel
#yum install openssl openssl-devel
#ln -s /usr/lib64/libssl.so /usr/lib/
配置安裝
進入到目錄,我們需要在安裝的時候將安裝目錄配置到/usr/local/php/裏
#./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-MySQL --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
好的,當我們看到下面這句話的時候,說明你的php已經配置完成啦!
接下來我們只需要編譯安裝即可完成php的安裝
#make && make install
看到這句話,表明安裝完成!
爲了保險起見,我們make test一把,看看是否真的成功了。
配置相關
php.ini配置
首先我們需要配置的是php.ini這個文件
安裝目錄有2個文件:php.ini-development和php.ini-production
php.ini-production 線上版本使用
php.ini-development 開發版本使用
我們選擇development進行配置
# cp php.ini-development /usr/local/php/lib/php.ini
php-fpm配置
拷貝php-fpm配置文件
#cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
拷貝啓用文件
#cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm(已棄用,詳細的見注1)
啓動
/usr/local/php/sbin/php-fpm
查看php是否啓動成功
#ps aux | grep php
看到這些,表明你的php已經啓動成功啦!
重啓及關閉
#kill -9 進程號
/usr/local/php/sbin/php-fpm
配置Nginx支持PHP
vi /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
源碼編譯Nginx
yum -y install gcc gcc-c++ pcre-devel zlib zlib-devel
cd /usr/src/
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar zxvf pcre-8.39.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
tar zxvf zlib-1.2.11.tar.gz
第二步:下載Nginx並解壓
wget http://nginx.org/download/nginx-1.11.13.tar.gz
tar -zxvf ./nginx-1.11.13.tar.gz
cd nginx-1.11.13
第三步:
./configure --prefix=/usr/local/nginx/ --with-pcre=/usr/src/pcre-8.39 --with-zlib=/usr/src/zlib-1.2.11
第四步:
make && make install
nginx啓動方式
/usr/local/nginx/sbin/nginx
安裝mysql
檢測mysql是否卸載乾淨
rpm -aq | grep -i mysql
MYSQL安裝
1.先下載mysql的repo源;相關命令:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安裝mysql-community-release-el7-5.noarch.rpm包
(安裝這個包後,會獲得兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)
rpm -ivh mysql-community-release-el7-5.noarch.rpm
3.安裝MYSQL
sudo yum install mysql-server
重啓服務:
systemctl restart mysql.service
修改數據庫登錄密碼:
use mysql;
update user set password=password('root') where user='root';
設置外部連接權限,密碼
grant all privileges on *.* to 'root'@'%' identified by 'jiacheng123.';
更新:flush privileges;