在Ubuntu 14.04上部署 PHP 环境及 WordPress
软件及版本选择
Ubuntu 14.04
Ubuntu 是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择。而 14.04 是目前最新的 LTS 版本,目前已经发布了半年了,基本是目前支持最好的版本。
Nginx
Nginx 是一个轻量级的,配置灵活,擅长并发的 Web 服务器。
PHP-FPM
PHP-FPM 是目前官方推荐的最佳的运行模式。
MariaDB
MySQL 的替代品,毕竟目前 MySQL 的创始人已经不建议我们使用 MySQL 了。
基本配置
通常当你创建了一台 VPS, 你会得到一个 IP 和一个 root 密码,所以,先用 ssh 登上你的服务器:
ssh root@106.186.21.33
# 如果有警告输入 yes 来确认,然后输入你的 root 密码
配置一下公钥登录,省着每次登录都要输入密码,非常建议像我一样把公钥上传到一个公开的地址,这样只要一条命令就可以设置好:
mkdir ~/.ssh; curl 'https://raw.githubusercontent.com/jysperm/meta/master/Key/JyAir.pub' >> ~/.ssh/authorized_keys; chmod -R 700 ~/.ssh;
然后更新一下软件包列表,升级现有软件包:
apt-get updateapt-get upgrade
修改一下主机名,最好改成一个确实可以访问到这台服务器的域名:
vi /etc/hostnamevi /etc/hosts
安装软件包
apt-get install nginx postfix php5-fpm mariadb-server memcachedapt-get install php-pear php5-mysql php5-curl php5-gd php5-mcrypt php5-memcacheapt-get install python make screen git wget zip unzip iftop vim curl htop iptraf nethogsnginx: Web 服务器postfix: SMTP 服务器,用来支持从本地发送邮件php5-fpm: PHP 进程管理器,及 PHP 解释器mariadb-server: 类 MySQL 数据库memcached: 基于内存的缓存,很多程序会用到php-pear: PHP 的包管理器php5-mysql: PHP MySQL 数据库驱动php5-curl: 一个 HTTP 协议库php5-gd: 一个图像处理库php5-mcrypt: 一个加密算法库php5-memcache: Memcached 驱动python: 一个常用的脚本语言解释器make: 一个常用的构建工具screen: 一个常用的 Shell 会话管理工具git: 一个常用的版本控制工具wget, curl: 常用的文件下载工具zip, unzip: ZIP 压缩和解压工具iftop, iptraf, nethogs: 常用的流量监控工具vim: 一个常用的编辑器htop: 一个常用的进程监控工具
安装 WordPress
新建一个普通用户,并切换到该用户
adduser wordpresssu wordpresscd ~
下载 WordPress, 请自行到官网查看最新版本的下载地址:
wget http://cn.wordpress.org/wordpress-3.9-zh_CN.zip
解压文件:
unzip wordpress-*.zip
设置文件权限:
chmod -R 750 wordpress
删除安装包:
rm wordpress-*.zip
回到 root:
exit
配置 PHP-FPM
为 WordPress 创建一个进程池:
vi /etc/php5/fpm/pool.d/wordpress.conf
这是一份很典型的配置文件,通过监听 Unix Socket 来提供服务,动态调节进程数,最高 10 个进程,最低 3 个进程:
[wordpress]user = wordpressgroup = wordpresslisten = /home/wordpress/phpfpm.socklisten.owner = wordpresslisten.group = wordpresslisten.mode = 0660pm = dynamicpm.max_children = 10pm.min_spare_servers = 3pm.max_spare_servers = 5slowlog = /home/wordpress/phpfpm.slowlogrequest_slowlog_timeout = 5srequest_terminate_timeout = 15sphp_admin_value[error_log] = /home/wordpress/phpfpm_error.logphp_admin_flag[log_errors] = On
配置 Nginx
删掉 Nginx 的默认站点:
rm /etc/nginx/sites-enabled/default
新建一个站点:
vi /etc/nginx/sites-enabled/wordpress
这份配置文件已将请求重写到 index.php, 可以直接在 WordPress 中使用「固定链接」功能:
server { listen 80; server_name jysperm.me; root /home/wordpress/wordpress; index index.html index.php; autoindex off; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:///home/wordpress/phpfpm.sock; include fastcgi_params; fastcgi_index index.php; }}
如果你希望把其他所有域名都跳转到你的站点,可以添加这么一段:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; rewrite ^/(.*)$ http://jysperm.me permanent;}
然后我们需要修正 Nginx 和 PHP-FPM 配合的一个 Bug:
vi /etc/nginx/fastcgi_params
将 fastcgi_param SCRIPT_FILENAME 开头的行改为:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
为 Nginx 添加读取 WordPress 文件的权限:
usermod -G wordpress -a www-data
配置 MySQL
进入 MySQL 控制台:
mysql -p
# 需要输入你的 MySQL root 密码
# 创建数据库
CREATE DATABASE `wordpress`;
# 为 WordPress 新建用户
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'password';
# 授予权限
GRANT ALL PRIVILEGES ON `wordpress` . * TO 'wordpress'@'localhost';
# 退出
QUIT
重启
好了,已经配置完成了,我们直接重启服务器即可,这样所有服务都会重启并使用新的配置:
reboot

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Instagram은 2012 년 Facebook에서 유명한 인수에 이어 타사 사용을 위해 두 개의 API 세트를 채택했습니다. Instagram Graph API 및 Instagram Basic Display API입니다. 개발자는

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다
