ubuntu 服务器 php 环境简单搭建

中文语言调教

安装中文支持,避免一些语言相关的坑

1
2
3
4
5
6
7
8
sudo apt-get install language-pack-zh-hans

sudo vim /etc/default/locale

# vim /etc/default/locale 输入以下内容
LANG="en_US.UTF-8"
LANGUAGE="zh_CN.utf8"
LC_ALL="zh_CN.utf8"

安装 PHP

此处安装的是 PHP 7.2,简单起见,我们直接使用现成的 package(当然了,你也可以使用源码编译)。

1
2
3
4
5
6
7
8
9
10
# 安装了此软件才能使用 PPA 呀
sudo apt-get install -y software-properties-common

# 安装 PPA
sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

# 安装 PHP 7.2,如果需要额外的拓展,可以后期再安装
sudo apt-get install php7.2

php 调优

我们即将使用 nginx 配合 php-fpm 使用,所以配置文件路径为 /etc/php/7.2/fpm/php.ini

修改一个容易导致内存溢出的问题php.ini

修改 pcre.recursion_limit=5000

其他调整

1
2
3
max_input_vars = 20000

post_max_size = 50M

安装 fpm

1
sudo apt-get install php7.2-fpm

php-fpm 调优

修改 /etc/php/7.1/fpm/php-fpm.conf

1
2
emergency_restart_threshold = 10 
emergency_restart_interval = 1m

修改 PHP-FPM /etc/php/7.2/fpm/pool.d/www.conf

1
2
3
4
5
6
7
8
9
10
listen = 127.0.0.1:9000 
listen.allowed_clients = 127.0.0.1
pm.max_children = 51
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 1000

slowlog = /var/log/$pool.log.slow
request_slowlog_timeout = 5s

安装 nginx

sudo apt-get install nginx

PHP7.2 拓展

1
sudo apt-get install php7.2-mbstring php7.2-xml php7.2-intl