ubuntu系统下安装php7.4
一.下载/更新php源
打开下载网址
先安装一下这个命令
add-apt-repositoryapt-get install software-properties-common
添加第三方源:
add-apt-repository ppa:ondrej/php
更新本地源
apt-get update
二.安装php7.4
安装
apt-get install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring
选择6. Asia
选择70. Shanghai启动php
service php7.4-fpm start #启动fpm
查看进程
root@7c609eaf61d3:/etc/init.d# ps aux|grep php root 11864 0.0 0.0 342724 10104 ? Ss 07:05 0:00 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) www-data 11865 0.0 0.0 345020 9672 ? S 07:05 0:00 php-fpm: pool www www-data 11866 0.0 0.0 345020 9672 ? S 07:05 0:00 php-fpm: pool www root 11868 0.0 0.0 11464 1004 pts/1 S+ 07:06 0:00 grep --color=auto php
查看版本
root@7c609eaf61d3:/etc/init.d# php -v #查看进程
PHP 7.4.8 (cli) (built: Jul 13 2020 16:45:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.8, Copyright (c), by Zend Technologies
安装php主要的就三个
phpcli #命令行
php7.4-fpm #和nginx配合的多进程管理 多数使用这个
module #和apache配合的
查看监听的端口
安装net-tools
可以用altupn命令查看监听的端口
apt-get install net-tools
root@7c609eaf61d3:/etc/init.d# netstat -altupn|grep 9000
root@7c609eaf61d3:/etc/init.d# netstat -altupn|grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23/nginx: master pr
tcp 0 0 172.17.0.3:47020 124.200.113.110:80 TIME_WAIT -
tcp6 0 0 :::80 :::* LISTEN 23/nginx: master pr
以上可以看到9000端口没有被监听,只监听了80端口
fpm监听有两种方式
- a.监听端口,一般为9000端口
 - b.监听socket
 
三.修改配置
3.1 修改www.conf 文件
vim /etc/php/7.4/fpm/pool.d/www.conf
/listen = #可以找到监听方式 listen = /run/php/php7.4-fpm.sock

说明默认使用sock方式配合nginx方式工作
修改以下几处配置
1.打开在控制台显示php的错误
;php_flag[display_errors] = off 改为  php_flag[display_errors] = on
;php_admin_flag[log_errors] = on 改为 php_admin_flag[log_errors] = on
2.打开日志
;access.log = log/$pool.access.log 改为 access.log = log/$pool.access.log
打开日志后,需要新建日志文件/usr/log/www.access.log,
/var/log/php7.4-fpm.log文件里
mkdir -p /usr/log
vim /usr/log/www.access.log
保存并退出
如果没有这个文件,php会启动不了,不报错,错误日志会写入日志文件,
cat /etc/php/7.4/fpm/php-fpm.conf里可以查到php错误日志会写会
error_log = /var/log/php7.4-fpm.log
四.配置域名
vim /etc/hosts 
127.0.0.1	phptest.haimait.hm
五.nginx的配置文件
5.1 sock方式和nginx配合工作
修改php监听方式
vim /etc/php/7.4/fpm/pool.d/www.conf这里我们使用监听
sock的方式配合nginx工作listen = /run/php/php7.4-fpm.sock重启php
service php7.4-fpm reload修改nginx配置文件
vim /etc/nginx/conf.d/phptest.haimait.hm.confserver {
listen 80;
server_name phptest.haimait.hm;
access_log /var/log/nginx/phptest.haimait.hm.access.log;
error_log /var/log/nginx/phptest.haimait.hm.error.log;
root /wwwroot/html/phptest;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
root /wwwroot/html/phptest;
#fastcgi_pass这里的路径要的/etc/php/7.4/fpm/pool.d/www.conf 里listen = 里的配置的一致
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #�user root
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}
保存退出后
重启nginx
root@7c609eaf61d3:/etc/nginx/conf.d# service nginx restart
* Restarting nginx nginx
curl测试
curl http://127.0.0.1/index.php 测试成功
5.2监听9000端口和nginx配合工作(推荐)
修改php监听方式
vim /etc/php/7.4/fpm/pool.d/www.conf这里我们改为使用监听9000端口的方式配合nginx
listen = /run/php/php7.4-fpm.sock改为listen = 127.0.0.1重启php
service php7.4-fpm reload修改nginx配置文件
vim /etc/nginx/conf.d/phptest.haimait.hm.conf
server {
    listen       80;
    server_name  phptest.haimait.hm;
    access_log  /var/log/nginx/phptest.haimait.hm.access.log;
    error_log   /var/log/nginx/phptest.haimait.hm.error.log;
    root   /wwwroot/html/phptest;
    location / {
        index  index.php index.html index.htm;
    }
    location ~ \.php$ {
        root           /wwwroot/html/phptest;
        #fastcgi_pass这里的路径要的/etc/php/7.4/fpm/pool.d/www.conf 里listen = 里的配置的一致
        #fastcgi_pass   unix:/run/php/php7.4-fpm.sock;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #�user root
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi_params;
    }
}
保存退出后
- 重启nginx
 
root@7c609eaf61d3:/etc/nginx/conf.d# service nginx restart
* Restarting nginx nginx
curl测试
curl http://127.0.0.1/index.php 测试成功
ubuntu系统下安装php7.4的更多相关文章
- ubuntu系统下安装pyspider:搭建pyspider服务器新手教程
		
首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ...
 - CentOS和Ubuntu系统下安装 HttpFS (助推Hue部署搭建)
		
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
 - Ubuntu系统下安装并配置hive-2.1.0
		
说在前面的话 默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试.实际生产环境中不使用,为了支持多用户会话, 则需要一个独立的元数据库,使用MySQL作为 ...
 - ubuntu系统下安装pip3及第三方库的安装
		
ubuntu系统下会自带python2.x和python3.x坏境,不需要我们去安装.并且ubuntu系统下还会自动帮助我们安装python2.x坏境下的pip安装工具, 但是没有python3.x坏 ...
 - ubuntu系统下安装pyspider:安装命令集合。
		
本篇内容的前提是你已安装好python 3.5.在ubuntu系统中安装pyspider最大的困难是要依赖组件经常出错,特别是pycurl,但把对应的依赖组件安装好,简单了.下面直接上代码,所有的依赖 ...
 - CentOS和Ubuntu系统下安装vsftp(助推大数据部署搭建)
		
不多说,直接上干货! 同时,声明,我这里安装的vsftp,仅仅只为我的大数据着想,关于网上的复杂安装,那是服务和运维那块.我不多牵扯,也不多赘述. 一.CentOS系统里安装vsftp 第一步:使用y ...
 - 在 Ubuntu/Debian 下安装 PHP7.3 教程
		
介绍 最近的 PHP 7.3.0 已经在 2018 年12月6日 发布 GA,大家已经可以开始第一时间体验新版本了,这里先放出 PHP7.3 安装的教程以便大家升级. 适用系统: Ubuntu 18. ...
 - Python 基础之在ubuntu系统下安装双版本python
		
前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...
 - ubuntu系统下安装gstreamer的ffmpeg支持
		
当您在安装gstreamer到您的ubuntu系统中时,为了更好地进行流媒体开发,需要安装ffmpeg支持,但一般情况下,直接使用 sudo apt-get install gstreamer0.10 ...
 - Ubuntu系统下安装Eclipse
		
第一步:查看操作系统位数. 打开终端,输入file /sbin/init 可以看到笔者Ubuntu系统为32位,读者可以使用该命令获取自己机器上的操作系统位数. 这一步是最至关重要的一步,笔者机器处理 ...
 
随机推荐
- UE4_C++实现TimeLine
			
主要实现蓝图节点中时间轴的功能. 目前UE提供了两种实现方式,一个是使用FTimeLine其是一个时间轴的结构体:另一种方式是使用UTimeLineComponent,其是一个时间轴组件类.两者内部定 ...
 - #杜教筛,欧拉函数#51nod 1227 平均最小公倍数
			
题目 设 \(\large A(n)=\frac{1}{n}\sum_{i=1}^n lcm(i,n)\), 求 \(\sum_{i=l}^rA(i)\),\(n\leq 10^9\) 分析 题意可以 ...
 - Git安装和配置教程:Windows/Mac/Linux三平台详细图文教程,带你一次性搞定Git环境
			
Git是一款免费.开源的分布式版本控制系统,广泛应用于软件开发领域.随着开源和云计算的发展,Git已经成为了开发者必备的工具之一.本文将为大家介绍Git在Windows.Mac和Linux三个平台上的 ...
 - 灵活配置 Spring 集合:List、Set、Map、Properties 详解
			
使用<property>标签的value属性配置原始数据类型和ref属性配置对象引用的方式来定义Bean配置文件.这两种情况都涉及将单一值传递给Bean 那么如果您想传递多个值,例如Jav ...
 - 鸿蒙HarmonyOS实战-ArkUI组件(Menu)
			
一.Menu组件 Menu组件是一种常见的用户界面(UI)控件,用于在移动应用程序中显示可选项列表.它通常由一系列链接或按钮组成,以帮助用户导航和选择所需的操作.Menu组件可以在水平或垂直方向上呈现 ...
 - Linux之隔离技术
			
前言 Linux的内核有两大特性Namespace和CGroup,这两种特性可以在Linux主机上实现主机名.用户.网络等全局资源的隔离,也是实现网络虚拟化.容器技术的基础. 命名空间 Linux N ...
 - flutter3-macOS桌面端os系统|flutter3.x+window_manager仿mac桌面管理
			
原创力作flutter3+getX+window_manager仿Mac桌面系统平台Flutter-MacOS. flutter3_macui基于最新跨端技术flutter3.19+dart3.3+w ...
 - 深度解读《深度探索C++对象模型》之数据成员的存取效率分析(一)
			
接下来我将持续更新"深度解读<深度探索C++对象模型>"系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文和全部的文章列表. 在<深度解 ...
 - Java集成系列:高效构建自定义插件
			
前言 随着软件开发的快速发展和需求的不断增长,开发人员面临着更多的压力和挑战.传统的开发方法需要花费大量的时间和精力,而低代码开发平台的出现为开发人员提供了一种更加高效.快速的开发方式.今天小编就以构 ...
 - 力扣512(MySQL)-游戏玩法分析Ⅱ(简单)
			
题目: 需求:请编写一个 SQL 查询,描述每位玩家首次登陆的设备名称 查询结果格式在以下示例中: 解题思路: 方法一:使用dense_rank() over(partition by ...orde ...