centos7下安裝LNMP(nginx+PHP7.1.9+mysql5.7)

編譯安裝LNMP

準備工做

安裝gccphp

yum -y install gcc-c++

一、安裝nginx

安裝pcre-devel

yum -y install pcre-devel

安裝gzip

yum -y install zlib-devel

安裝openssl

yum -y install openssl-devel

下載nginx

nginx官方下載地址html

http://nginx.org/en/download.html

獲取目前最新穩定版mysql

wget http://nginx.org/download/nginx-1.12.1.tar.gz

解壓nginx壓縮包

tar zxvf nginx-1.12.1.tar.gz

進入目錄

cd nginx-1.12.1

進行編譯安裝

./configure

而後nginx

make&&install

會默認安裝到/usr/local/nginxc++

nginx相關命令
啓動nginxweb

/usr/local/nginx/sbin/nginx

查看nginx是否啓動sql

ps -ef|grep nginx

圖片描述

二、安裝mariadb

mariadb是MYSQL數據庫的一個分支,主要由開源社區在維護,採用GPL受權許可。開發這個分支的緣由之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險。mariaDB能夠徹底兼容MySQL,能夠成爲mysql的替代品。數據庫

安裝mariaDB

yum -y install mariadb-server

mariadb相關操做

啓動 service mariadb start (systemctl start mariadb)
中止 service mysqld stop (systemctl stop mariadb)
重啓 service mysqld restart (systemctl restart mariadb)
設置開機啓動 systemctl enable mariadb

mysql -u root 便可進入json

clipboard.png

默認是沒有密碼的,給root設置密碼,能夠當即生效vim

set password for 'root'@'localhost'=password('mypassword')

三、安裝PHP

獲取PHP

可自行選擇php版本

http://php.net/

這裏用的7.1.9

wget -O php-7.1.9.tar.gz http://am1.php.net/get/php-7.1.9.tar.gz/from/this/mirror

解壓

tar zxvf php-7.1.9.tar.gz

進入目錄

cd php-7.1.9

安裝編譯時須要的依賴包

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libxslt libxslt-devel

安裝過程當中發現沒法安裝libmcrypt擴展,可使用如下方法

一、安裝第三方yum源

wget http://www.atomicorp.com/installers/atomic
sudo sh ./atomic

二、使用yum命令安裝

sudo yum install php-mcrypt
sudo yum install libmcrypt
sudo yum install libmcrypt-devel

開始配置

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=www-data  \
--with-fpm-group=www-data \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared  \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir  \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets  \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

編譯安裝php比較消耗內存,若是服務器內存較小,有可能編譯失敗,能夠考慮設置交換分區

建立swap掛載點

mkdir /opt/images/
 rm -rf /opt/images/swap

設置掛載swap的大小,64M*32=2GB

dd if=/dev/zero of=/opt/images/swap bs=64M count=32
 mkswap /opt/images/swap

開啓swap

swapon /opt/images/swap

而後能夠繼續下一步操做
(php編譯安裝後,能夠關閉swap並刪除掛載文件

swapoff /opt/images/swap
  rm -f /opt/images/swap

)

正式安裝,時間會稍微長些

make && make install

配置php環境變量

vim  /etc/profile

在末尾加上

PATH=$PATH:/usr/local/php/bin
export PATH

保存後使之當即生效

source /etc/profile

查看PHP版本

php -v

圖片描述

配置nginx支持php-fpm

php-fpm相關配置

PHP-FPM是一個PHP FastCGI管理器。PHP-FPM提供了更好的PHP進程管理方式,能夠有效控制內存和進程、能夠平滑重載PHP配置。新版PHP已經集成了PHP-FPM,能夠直接使用。

php的默認安裝位置在 /usr/local/php

對php-fpm運行用戶進行設置

首先建立web用戶
用戶 組都設置爲www-data,能夠本身定(實際上在配置時已經設爲www-data了)

groupadd www-data
useradd -g www-data www-data

複製一份php-fpm配置文件

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
打開配置文件
vim php-fpm.conf

打開後移到最後會發現會引入php-fpm.d目錄下的全部 .conf 類型的配置文件

clipboard.png

打開 php-fpm.d目錄,複製默認配置文件並打開修改

cd php-fpm.d
cp www.conf.default  www.conf
vim www.conf

默認用戶組都是www

clipboard.png
修改成咱們新加的www-data用戶

clipboard.png
保存退出,重啓php-fpm服務

/usr/local/php/sbin/php-fpm

php-fpm默認使用9000端口,使用以下命令可查看是否成功啓動

netstat -lnt | grep 9000

clipboard.png

nginx相關配置

打開nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

修改用戶組
第一行註釋去掉 nobody改成www-data

添加index.php,使nginx默認使用index.php爲入口頁

clipboard.png

配置php-fpm模塊

clipboard.png
主要修改69行的/scripts 爲 $document_root

clipboard.png

以上都修改後保存退出
先檢測相關配置是否正確

/usr/local/nginx/sbin/nginx -t

clipboard.png

顯示正確,重啓nginx
/usr/local/nginx/sbin/nginx -s reload

切到nginx下的html目錄(默認代碼目錄)
新建index.php

<?php
phpinfo();
?>

而後訪問對應地址(你的服務器地址)是否能夠運行
127.0.0.1/index.php

能夠直接用curl試下,爲了方便查看,這裏輸出hello,world

curl localhost/hello.php

輸出沒有問題,php成功運行。
clipboard.png

相關文章
相關標籤/搜索