一、準備工作
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();
本作品採用《CC 協議》,轉載必須註明作者和本文連結