CentOS7搭建Lnmp環境 (php7.2 + mysql5.7 +nginx1.8)

 

一.php7編譯安裝

  1.1 首先下載並解壓php安裝包 php下載地址           

//首先,進入/var/lnmp 目錄, 沒有的 mkdir lnmp 創建
cd /var/lnmp

//下載: 
wget http://cn2.php.net/get/php-7.2.4.tar.xz/from/this/mirror

//解壓:(tar 解壓命令 -x 解壓 -v 顯示所有過程 -f 使用檔案名字)    
tar -xvf mirror

  1.2  安裝

   這個時候你已經得到了解壓後的php安裝包, 可以 使用命令: ll 查看 進入解壓後的文件夾:

cd php-7.2.4/

  1.3安裝常用的依賴: 

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

  1.4配置php (現在只是安裝一下必要的擴展,等你需要額外的擴展完全可以以後再安裝): 

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo -enable-tokenizer --enable-zip


  注意 這個地方會很容易出現錯誤,你只要注意configure error並百度安裝相對應的環境就可以了

--prefix=/usr/local/php 這個是你的安裝目錄

--with-mysqli 這個是mysqli擴展

--with-fpm-user=nginx fpm用戶

--with-fpm-group-nginx fpm用戶組

當你看到如下頁面就代表php可以安裝了:

 

1.5執行命令:

make && make install

1.6.添加 PHP 命令到環境變量   

//複製配置文件:
cp /var/lnmp/php-7.2.4/php.ini-development /usr/local/php/lib/php.ini
vim /etc/profile

//在結尾添加
PATH=$PATH:/usr/local/php/bin
export PATH

//保存後運行
source /etc/profile

//執行命令
php -v

//如果出現以下畫面就代表php安裝成功

 

2.配置php-fpm:2.1.將啓動文件加入systemctl,複製到系統文件夾中:

cp /var//lnmp/php-7.2.4/sapi/fpm/php-fpm.service /usr/lib/systemd/system

2.2.配置

//1.生成 php-fpm.conf
cd /usr/local/php/etc/

//複製默認文件
cp php-fpm.conf.default php-fpm.conf

//2.生成 www.conf
cd /usr/local/php/etc/php-fpm.d

//複製默認文件
cp www.conf.default www.conf

//編輯文件,將其中user = nginx group = nginx 改爲 user = nobody group = nobody
vim www.conf
//修改user,group
user = nobody
group = nobody

2.3.啓動

systemctl start php-fpm.service

2.4查看狀態:

systemctl status php-fpm.service

如顯示如下就代表啓動成功

如果沒啓動成功:

錯誤1:

說明是80端口被佔用: fuser -k 80/tcp, 重新啓動

2.5將服務加入開機自啓:

systemctl enable php-fpm.service

二.nginx1.8安裝

1.1安裝:

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install nginx

1.2啓動:

systemctl start nginx.service

1.3查看狀態:

systemctl status nginx.service

如果出現以下畫面就帶代表安裝成功

1.4將服務加入開機自啓:

systemctl enable nginx.service

2.配置站點

2.1創建項目文件夾

mkdir /var/www

2.2創建iindex文件

vim /var/www/index.php

2.3編輯添加

<?php

echo phpinfo();

2.4編輯nginx配置

vim /etc/nginx/conf.d/default.conf
server{
        listen       80;
        #server_name 你的域名
        server_name  www.tester-lnmp.com.cn tester-lnmp.com.cn;
        #root  你的項目目錄
        root   /var/www/html;
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \.php(.*)$ {
            #root  你的項目目錄
            root /var/www/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

注意: 這裏需要開啓服務器80端口:

//查看80端口是否開啓
firewall-cmd --query-port=80/tcp

//查看80端口被誰佔用:
netstat -lnp|grep 80

//開啓80端口
firewall-cmd --add-port=80/tcp --permanent   # --permanent 永久生效,沒有此參數重啓後失效

//關閉80端口
firewall-cmd --remove-port=80/tcp --permanent   # --permanent 永久生效,沒有此參數重啓後失效

// firewalld 基本使用
啓動: systemctl start firewalld
查看狀態: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld

2.5重啓nginx服務:

systemctl restart nginx.service

2.6 訪問,出現以下頁面就代表nginx已經可以解析php文件了:

//你的域名
http://www.tester-lnmp.com.cn/

 三.mysql5.7安裝

1.安裝mysql

1.1安裝:

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

yum install mysql-community-server mysql-community-devel

1.2啓動:

systemctl start mysqld

1.3查看狀態:

systemctl status mysqld

1.4顯示下圖就代表啓動成功:

1.5把服務加入開機自啓:

 systemctl enable mysqld

2.修改初始密碼 

//獲取初始密碼,最後就是初始密碼了:
grep 'temporary password' /var/log/mysqld.log

//進入mysql:
mysql -u root -p

//修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';

exit

 

3.配置php.ini,使php 與mysql link:

  3.1修改php.ini 中的mysqli.default_socket ,這個值可以從 /etc/my.cnf 找到,如下:

//進入php.ini配置文件目錄, 這裏可以使用 find / -name 'php.ini'  命令查看php.ini位置
cd /usr/local/php/lib
//編輯php.ini
vim php.ini
//找到mysqli.default_socket, 修改
mysqli.default_socket = /var/lib/mysql/mysql.sock

3.2重啓nginx和php-fpm

systemctl restart nginx.service

systemctl restart php-fpm.service

4.測試php操作mysql是否成功

4.1添加文件到/var/www文件夾中

vim /var/www/testMysql.php

  添加內容爲

<?php

$mysqli = @new mysqli('localhost', 'root', '你的密碼');

if($mysqli->connect_errno) {
        echo "連接失敗" . $mysqli->connect_error;
} else {
        echo '連接成功!';
}

現在你訪問 域名/testMysql.php 如果顯示 '連接成功!' 就代表 lnmp環境搭建成功了~

備註: 該文章來源參考:https://blog.csdn.net/luo1324574369/article/details/80036532

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章