在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 update
apt-get upgrade

修改一下主机名,最好改成一个确实可以访问到这台服务器的域名:

vi /etc/hostname
vi /etc/hosts

安装软件包

apt-get install nginx postfix php5-fpm mariadb-server memcached
apt-get install php-pear php5-mysql php5-curl php5-gd php5-mcrypt php5-memcache
apt-get install python make screen git wget zip unzip iftop vim curl htop iptraf nethogs
nginx: 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 wordpress
su wordpress
cd ~

下载 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 = wordpress
group = wordpress

listen = /home/wordpress/phpfpm.sock

listen.owner = wordpress
listen.group = wordpress
listen.mode = 0660

pm = dynamic
pm.max_children = 10
pm.min_spare_servers = 3
pm.max_spare_servers = 5

slowlog = /home/wordpress/phpfpm.slowlog
request_slowlog_timeout = 5s
request_terminate_timeout = 15s

php_admin_value[error_log] = /home/wordpress/phpfpm_error.log
php_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

(0)

相关推荐

  • Ubuntu 16.04源码编译安装PHP 5.6.29的教程

    1. 下载地址:http://www.php.net/downloads.php 2.解压 tar -zxvf PHP-5.6.29.tar.gz 3.配置 ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs 注意:这里的-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,路径根据实际情况设置.apxs是一个为Apache HTT

  • Ubuntu中搭建Nginx、PHP环境最简单的方法

    前言:百度出来的结果好坑爹,而且某些文章说别人坑爹,可他自己也坑爹.求业界良心啊.还是谷歌靠谱. 系统环境:Ubuntu 13 和 Linux Mint 15都通过. 默认安装的是nginx 1.2.5,php5.4.9 先安装: 复制代码 代码如下: sudo apt-get install nginx php5-fpm 我是在新安装的Ubuntu13上测试通过的,真的只安装这两个东西就够了. 然后编辑配置文件. 复制代码 代码如下: sudo gedit /etc/nginx/site-av

  • 解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql

    此教程中使用的相关IP等设置,在你的环境中要做相应修改.使用之前更新apt-get,因为服务器基本上是一个裸系统apt-get update;apt-get upgrade;1 我们使用root账户进行安装,首先切换到root账户,输入命令:sudo su 2 安装 MySQL 5输入命令:apt-get install mysql-server mysql-client安装过程中需要设置root账户密码,系统会作以下提示:New password for the MySQL "root&quo

  • ubuntu12.04使用c编写php扩展模块教程分享

    系统是ubuntu 12.04,已经安装好了apache和php,php的版本是5.3.10. 以下操作如果碰到权限方面的问题,建议切换成root操作. 1.下载源码 签出php 5.3.10的源代码 复制代码 代码如下: $ svn checkout https://svn.php.net/repository/php/php-src/branches/PHP_5_3_10/ Tips:如果没有这个命令,需要先安装svn,在ubuntu下直接使用apt-get安装就OK了: 复制代码 代码如下

  • ubuntu下搭建php开发环境(nginx+(cgi)php5fpm+memcached+xdebug)

    由于只是开发环境,所以都是选择比较简单的apt-get安装方式 ,但中间也遇到一点问题. 首先安装nginx nginx的安装和配置其实很简单,nginx本身非常轻量级, 直接 sudo apt-get install nginx 就可以了 他的配置文件是在/etc/nginx/里面,网站项目路径是在/var/www里面,安装之后一定要确保nginx的启动账户有对网站目录的访问权限,否则会报错. 第二步,安装cgi linux底下的cgi程序非常多,在这里我选择的是php5-fpm 方便  在这

  • 在Ubuntu 14.04上部署 PHP 环境及 WordPress

    软件及版本选择 Ubuntu 14.04 Ubuntu 是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择.而 14.04 是目前最新的 LTS 版本,目前已经发布了半年了,基本是目前支持最好的版本. Nginx Nginx 是一个轻量级的,配置灵活,擅长并发的 Web 服务器. PHP-FPM PHP-FPM 是目前官方推荐的最佳的运行模式. MariaDB MySQL 的替代品,毕竟目前 MySQL 的创始人已经不建议我们使用 MySQL 了. 基本配置 通常当你

  • ubuntu 20.04上搭建LNMP环境的方法步骤

    简单说明 由于之前是用Centos7搭建的,后来使用ubuntu 20.04的系统做为个人开发环境,所以想在ubuntu上也搭建一下环境,和Centos有一些小区别所以记录一下仅供学习. 安装前准备 下载软件: php:7.3.18 nginx:1.18.0 mariadb:10.5.4 解压文件: tar zxf php-7.3.18.tar.gz tar zxf mariadb-10.5.4.tar.gz tar zxf nginx-1.18.0.tar.gz 安装Nginx sudo gr

  • Ubuntu 14.04下mysql安装配置教程

    mysql是Oracle公司的一种开放源代码的关系型数据库管理系统,被广泛应用于各中小网站,是一种跨平台的数据库管理系统,现在介绍一下如何在Ubuntu 14.04上安装和配置mysql 方法/步骤 1.更新源列表 打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入root用户的密码"-->回车,就可以了.如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载,您可以运行

  • .Net Core 之 Ubuntu 14.04 部署过程(图文详解)

    本篇文章主要介绍了.Net Core 之 Ubuntu 14.04 部署过程(图文详解) No.1 准备应用程序 1. 创建.Net Core Web项目 2. 使用VS2015发布 No.2 安装.Net Core for Ubuntu Ubuntu的安装就不介绍了.本人用的VMWare,装好Tools很方便. 具体安装步骤请参照:http://www.jb51.net/os/248849.html 1. 添加dotnet源 sudo sh -c 'echo "deb [arch=amd64]

  • Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程

    具体环境: Ubuntu 14.04 Python 2.7.6 Django 1.7.1 Virtualenv name:test Nginx uwsgi 假设 项目文件夹位于 /data/www/ts 设置保存在 ./conf 复制代码 代码如下: virtualenv name = test domain name = example.com django+uwsgi的部署实在是太蛋疼了..网上已有的教程似乎有新版本的兼容问题.最后跑到uwsgi官网上找的教程终于跑通了.. 不过官网的教程似

  • Ubuntu 14.04 64位上配置JDK操作步骤

    1. 从  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  下载jdk-8u172-linux-x64.tar.gz; 2. 解压缩: tar -xvzf jdk-8u172-linux-x64.tar.gz 3. 创建/usr/jdk目录: sudo mkdir -p /usr/jdk 4. 将解压缩后的jdk目录jdk1.8.0_172拷贝到/usr/jdk目录下: su

  • 在Ubuntu 16.04上用Docker Swarm和DigitalOcean创建一个Docker容器集群的方法

    介绍 Docker Swarm是用于部署Docker主机集群的Docker本地解决方案.您可以使用它来快速部署在本地计算机或受支持的云平台上运行的Docker主机集群. 在Docker 1.12之前,设置和部署Docker主机集群需要使用外部键值存储(如etcd或Consul)来进行服务发现.但是,使用Docker 1.12,不再需要外部发现服务,因为Docker提供了一个内置的键值存储,可以开箱即用. 在本教程中,您将了解如何使用Docker 1.12上的Swarm功能部署一组Docker机器

  • ubuntu 14.04 64位安装配置docker教程

    背景 一年前就听说了Docker,想用它做虚拟机,今天终于有机会付诸实践了. 我这里使用的是64位 ubuntu 14.04.想虚拟出4台设备,分别安装软件,进行集群测试. 由于Linux容器的bug,docker在Linux的kernel3.8上运行最佳. 环境检查及安装 看下我们的Ubuntu版本命令: 复制代码 代码如下: cat /etc/issue   Ubuntu 14.04.5 LTS \n \l 再来看下内核,命令: uname -r  3.2.0-67-generic 由于内核

  • docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍

    docker 搭建私有仓库 本篇文章描述了多个机器可以在内网中访问自己的私有仓库,访问仓库时需要CA认证!最简单,最低保障私有仓库的安全性!在一个比较庞大的集群里,可以运行多个私有仓库的replica,然后借用代理来balance请求! 1.测试环境 本人测试环境为ubuntu 14.04,Docker版本1.6.4(版本稍微比较老,新版本安装流程是一样的).官网上说:You need to install Docker version 1.6.0 or newer. 在阿里云上开了两台机器:

  • ubuntu 14.04 oracle 11g 64位数据库安装图文教程

    一.环境 系统:Ubuntu 14.04.5 LTS(为了贴近生产我装了个Ubuntu14的服务器版本) JDK:jdk-8u121-linux-x64.tar.gz Oracle:linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip 工具:Xshell5. 注:以上软件或者工具自行去相关官网下载 二.安装JDK 解压JDK tar -zxvf jdk-8u121-linux-x64.tar.gz 注:tools这个

随机推荐