简单安装PHP在Linux下的运行环境

PHP技术
384
0
0
2022-05-15
标签   PHP环境

一、准备工作

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信息则表示成功