簡單安裝PHP在Linux下的執行環境

wsAdmin發表於2021-07-09

一、準備工作

1、檢視Linux版本資訊

[root@localhost /]# cat etc/redhat-release

2、檢視是否安裝wget

[root@localhost /]# rpm -qa wget
2.1、安裝wget
[root@localhost /]# yum -y install wget

3、檢視是否安裝gcc編譯器

[root@localhost /]# rpm -qa gcc
3.1、安裝gcc
[root@localhost /]# yum install gcc gcc-c++

二、安裝Nginx

1、下載Nginx

[root@localhost wangshuang]# wget https://nginx.org/download/nginx-1.20.1.tar.gz

2、解壓壓縮包

[root@localhost wangshuang]# tar -zxvf nginx-1.20.1.tar.gz

3、configure指定安裝引數及目錄

# configure是一個shell指令碼,根據平臺的特性生成Makefile檔案用於後面的編譯及安裝
[root@localhost nginx-1.20.1]# ./configure --prefix=/usr/local/nginx

4、make && make install 命令執行編譯與安裝

# make是用來編譯的,它從Makefile中讀取指令,然後編譯;make install是用來安裝的,它也是從Makefile檔案中讀取指令
[root@localhost nginx-1.20.1]# make && make install

5、啟動nginx

# 在安裝目錄`/usr/local/nginx/sbin/`目錄下有一個輸入命令
[root@localhost sbin]# ./nginx

# 啟動後檢視程式
[root@localhost sbin]# ps aux|grep nginx

6、關閉nginx

[root@localhost sbin]# ./nginx -s stop

7、檢視防護牆狀態

[root@localhost /]# systemctl status firewalld

8、關閉防火牆

[root@localhost /]# systemctl stop firewalld

9、檢視防火牆服務是否開機啟動

[root@localhost /]# systemctl is-enabled firewalld

10、關閉防火牆開機啟動

systemctl disable firewalld

11、檢視當前SELinux狀態

[root@localhost /]# getenforce

12、關閉SELinux

[root@localhost /]# vim /etc/selinux/config

三、安裝Mysql

1、檢視是否已安裝MySQL

[root@localhost /]# rpm -qa | grep mysql

2、下載MySQL安裝包

[root@localhost wangshuang]# wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz

3、解壓.tar.xz檔案

# 分兩步解壓方式  
[root@localhost wangshuang]# xz -d mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz
[root@localhost wangshuang]# tar -xvf mysql-8.0.24-linux-glibc2.12-x86_64.tar

# 直接解壓方式   
[root@localhost wangshuang]# tar -xvJf mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz

# 移動至安裝目錄並重新命名為mysql  
[root@localhost wangshuang]# mv mysql-8.0.24-linux-glibc2.12-x86_64/ /usr/local/mysql

4、檢視安裝依賴

[root@localhost mysql]# rpm -q libaio

5、為mysql新建使用者

# 使用者名稱`mysql`
[root@localhost mysql]# useradd -s /sbin/nologin -M mysql

6、初始化資料庫

==注意:初始化後的密碼一定要記著==

[root@localhost mysql]# bin/mysqld --initialize --user=mysql

7、複製啟動指令碼

[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

8、修改配置檔案

# 先備份一下配置檔案
[root@localhost etc]# cp /etc/my.cnf /etc/my_default.cnf   

# 編輯配置檔案
[root@localhost etc]# vim my.cnf

# 將一下內容複製貼上在配置檔案中
[mysqld]
basedir=/usr/local/mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
[client]
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8

9、開啟資料庫

[root@localhost bin]# service mysqld start

10、測試連線資料庫

# 密碼為初始化時生成的隨機密碼
[root@localhost bin]# ./mysql -u root -p

# 連線成功以後修改密碼  
mysql> alter user 'root'@'localhost' identified by '123456';

四、編譯安裝PHP

1、選擇下載PHP安裝包

https://www.php.net/downloads.php

2、將安裝包上傳至伺服器並解壓縮

[root@localhost wangshuang]# tar -zxvf php-8.0.8.tar.gz

3、編譯前先配置相關資訊

# 檢視`./configure`命令幫助資訊,瞭解可配置的資訊!
[root@localhost php-8.0.8]# ./configure -h

# 配置安裝路徑、多位元組字串支撐、fpm等
[root@localhost php-8.0.8]# ./configure --prefix=/usr/local/php --enable-mbstring --enable-fpm

# 若提示“No package '***' found”,則根據提示進行安裝相關依賴包即可

[root@localhost php-8.0.8]# make && make install

4、配置

# 複製 php.ini 檔案
[root@localhost php-8.0.8]# cp php.ini-development /usr/local/php/lib/php.ini

# 安裝目錄etc下複製php-fpm.conf.default並命名為php-fpm.conf
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf

# 複製安裝包sapi/fpm目錄下的php-fpm至安裝位置的bin目錄下
[root@localhost fpm]# cp php-fpm /usr/local/php/bin/

# 預設情況下etc/php-fpm.d/下有一個名為www.conf.defalut的配置使用者的檔案,執行下面命令複製一個新檔案
[root@localhost php-fpm.d]# cp www.conf.default www.conf

5、啟動php-fpm

# 執行bin目錄下的php-fpm
[root@localhost bin]# ./php-fpm

# 檢視程式
[root@localhost bin]# ps -aux|grep php

# 啟動完畢之後,php-fpm服務預設使用9000埠,使用 netstat -tln | grep 9000 可以檢視埠使用情況
[root@localhost bin]# netstat -tln | grep 9000

6、配置nginx.conf檔案

# 編輯nginx.conf配置檔案,具體路徑根據實際的nginx.conf配置檔案位置編輯,下面主要修改nginx.conf的server{}配置塊中的內容,修改location塊,追加index.php讓nginx伺服器預設支援index.php為首頁:
[root@localhost conf]# vim nginx.conf
location / {
            root   html;
            index  index.html index.htm index.php;
        }

# 將location ~ \.php${}的註釋去掉
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #include        fastcgi_params;
            include        fastcgi.conf;
        }

# 停止nginx服務
[root@localhost sbin]# ./nginx -s stop

# 指定配置檔案並啟動nginx
[root@localhost sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf

# 重啟nginx的命令
[root@localhost sbin]# ./nginx -s reload

# 檢視nginx程式
[root@localhost sbin]# ps -aux|grep nginx

7、測試

nginx 安裝目錄下有個html目錄,目錄下新建index.php檔案,輸出phpinfo();

瀏覽器訪問:http://IP地址/index.php,成功輸出PHP資訊則表示成功

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章