一.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