资讯专栏INFORMATION COLUMN

Ubuntu 14.04 VPS 部署 PHP 环境及 WordPress

hqman / 2544人阅读

摘要:软件及版本选择是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择。而是目前最新的版本,目前已经发布了半年了,基本是目前支持最好的版本。是目前官方推荐的最佳的运行模式。

软件及版本选择

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

http://jysperm.me/technology/1830

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7608.html

相关文章

  • Ubuntu 14.04 VPS 部署 PHP 环境 WordPress

    摘要:软件及版本选择是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择。而是目前最新的版本,目前已经发布了半年了,基本是目前支持最好的版本。是目前官方推荐的最佳的运行模式。 软件及版本选择 Ubuntu 14.04 Ubuntu 是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择。而 14.04 是目前最新的 LTS 版本,目前...

    Pluser 评论0 收藏0
  • Ubuntu 14.04 服务器上部署 Hexo 博客

    摘要:本文将介绍如何在一台的云服务器上快速部署博客站点,如何快速发布一篇博文并通过云服务器上的私有仓库部署到服务器目录下。此外,还要在云服务器上安装和两个必备的软件包。在服务器上部署博客以下为文章正文。 推荐理由:Hexo 是用 Node.js 开发的一个静态站点生成器(Static Site Generator),支持 Markdown 语法写作,有着强大的插件系统,而且性能优异。下面我推...

    cyqian 评论0 收藏0
  • Ubuntu 14.04 服务器上部署 Hexo 博客

    摘要:本文将介绍如何在一台的云服务器上快速部署博客站点,如何快速发布一篇博文并通过云服务器上的私有仓库部署到服务器目录下。此外,还要在云服务器上安装和两个必备的软件包。在服务器上部署博客以下为文章正文。 推荐理由:Hexo 是用 Node.js 开发的一个静态站点生成器(Static Site Generator),支持 Markdown 语法写作,有着强大的插件系统,而且性能优异。下面我推...

    Prasanta 评论0 收藏0
  • 搬瓦工:Ubuntu 18.04部署安装VNC客户端和Gnome实现远程桌面

    摘要:搬瓦工如何部署安装客户端安装客户端和实现远程桌面搬瓦工搬瓦工主机是没有系统的,这个我们很多朋友都知道大部分的海外主机商都是系统镜像。那有没有其他办法实现呢这里我们惯用的办法就是在服务器中安装和桌面桌面实现远程访问。搬瓦工Ubuntu 18.04如何部署安装vnc客户端和Gnome实现远程桌面?搬瓦工vps主机是没有Windows系统的,这个我们很多朋友都知道大部分的海外主机商都是Linux系...

    番茄西红柿 评论0 收藏2637
  • Linode(Ubuntu 14.04 LTS)安装Wordpress备忘

    摘要:主机选择登录主机操作系统升级操作系统升级软件升级删除升级包设置主机时区设置主机名更新主机名绑定域名创建新的主机用户安装至此可以尝试打开下网站看看配置修改为主机登录用户名进程数增加设置上传文件大小检测配置信息 主机选择 Ubuntu 14.04 LTS 登录主机 ssh root@xx.xx.xx.xx 操作系统升级 apt-get update 操作系统升级apt-get upgrad...

    chinafgj 评论0 收藏0

发表评论

0条评论

hqman

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<