当前位置: 首页 > news >正文

安装nginx+php环境

由于项目需要,需要部署一个php开发环境,本文仅记录安装过程。

项目是用thinkphp5框架开发的,考虑到兼容性本次安装nginx1.24+php7.4。本次安装的操作系统是ubuntu20.4版本。

1 nginx安装

nginx选择已经编译好的版本,解压到/usr/local目录下。根据项目配置好nginx.conf文件,按照项目最佳实践,我们一般把通用配置放到nginx.conf,然后再新建一个vhost目录,里面再新建项目的配置文件,比如project.conf.在nginx.conf中include 这个project.conf。nginx安装有个需要注意的点,一般建议启动用户是不用root的,在nginx.conf中添加启动用户

user  www www;

这里如果你的系统没有www用户则需要新建相应的用户和用户组

sudo groupadd www
sudo useradd -g www- -s /sbin/nologin -d /var/www www

nginx的安装比较简单。到这里就安装完成了

启动nginx

/usr/local/nginx/sbin/nginx

如果看到nginx进程,则表示启动成功了

vagrant@ubuntu-focal:~$ ps -ef|grep nginx
root        2346       1  0 Jul09 ?        00:00:00 nginx: master process ./nginx
root       51543    2346  0 05:43 ?        00:00:00 nginx: worker process
root       51544    2346  0 05:43 ?        00:00:00 nginx: worker process
vagrant    88105   88083  0 06:49 pts/1    00:00:00 grep --color=auto nginx

2 php安装

先设置好安装源

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

安装php7.4以及扩展

sudo apt-get install php7.4 php7.4-fpm php7.4-cli php7.4-common php7.4-mbstring php7.4-xml php7.4-zip php7.4-bcmath php7.4-curl php7.4-intl php7.4-gd php7.4-mysql

这里最重要的2个扩展是fpm以及mysql扩展。

安装完成以后,我们来看看php的相关配置文件

主要有2个配置文件,一个是/etc/php/7.4/fpm/php-fpm.conf

[global]
pid = /etc/php/7.4/var/run/php-fpm.pid
error_log = /var/log/php-fpm.log
log_level = notice[www]
listen = /tmp/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 256
pm.start_servers = 30
pm.min_spare_servers = 30
pm.max_spare_servers = 60
pm.max_requests = 1024
pm.process_idle_timeout = 10s
request_terminate_timeout = 600
request_slowlog_timeout = 0
slowlog = var/log/slow.log

这里配置有几个点

1 pid:启动fpm的时候产生的系统进程pid的存储路径,要确保这个路径是存在的

2 error_log:fpm日志存放路径

3 log_level:日志级别,notice是默认的级别

4 listen:指定启动监听,我这里指定的是Unix Domain Socket类型,也可以指定ip和端口的模式

这里主要是在nginx的php项目转发配置中要配置成跟这里监听一致

另外指定了启动的user和group是www用户,因为php-fpm不允许是使用root启动

另一个是/etc/php/7.4/fpm/php.ini。这里主要是要配置使用的相关扩展,其它的一般就默认ok

我这里需要使用mysql,因此我们要打开mysql扩展,在php.ini里面搜索extension=pdo_mysql,

将前面的;注释去掉,保存。

我们可以尝试启动fpm服务了

systemctl start php7.4-fpm

如果能看到fpm进程,就说明启动成功了

如果启动不成功可以通过

journalctl -u php7.4-fpm.service -f

查看启动日志

到此php和nginx就安装好了。可以访问你的项目了

http://www.dtcms.com/a/272313.html

相关文章:

  • OpenCV探索之旅:多尺度视觉与形状的灵魂--图像金字塔与轮廓分析
  • 无人机识别比赛记录与分析
  • Java---IDEA
  • 【论文阅读】Decoupled Knowledge Distillation
  • 【大模型推理论文阅读】 Thinking Tokens are Information Peaks in LLM Reasoning
  • iOS 抓包详细教程:从零搭建、操作到实战调试的全流程指南
  • 图像亮度调整的简单实现
  • Flutter多线程机制深度解析
  • 【Docker基础】Docker容器与网络关联命令使用指南:深入理解容器网络连接
  • 力扣61.旋转链表
  • Windows下VScode配置FFmpeg开发环境保姆级教程
  • 面试150 LRU缓存
  • LeetCode - 1668. 最大重复子字符串
  • 原创:多面体编译,polybench-c-4.2批量测试脚本
  • php中array($this, ‘loadClass‘)表示啥意思?
  • 阿里云-跨账号同步OSS Bucket
  • 【Note】Linux Kernel 之 内核架构、源码文件、API/ABI 、FHS
  • Linux 内核日志中常见错误
  • idea安装maven 拉取依赖失败的解决办法
  • 网络基本概念
  • Ubuntu22.0.4安装PaddleNLP
  • Android Coil 3 data加载图的Bitmap或ByteArray数据类型,Kotlin
  • Redis BigKey 深度解析:从原理到实战解决方案
  • arm架构,arm内核,处理器之间的关系
  • 【部分省份已考真题】备战2025全国青少年信息素养大赛-算法创意实践挑战赛c++省赛/复赛真题——被污染的药剂
  • 如何发现Redis中的bigkey?
  • Django中序列化与反序列化
  • Python(31)PyPy生成器优化深度解析:JIT加速下的Python性能革命
  • 查看已安装 Django REST Framework (DRF) 版本
  • 【提高篇-基础知识与编程环境:1、Linux系统终端中常用的文件与目录操作命令】