原创作品,转载时请务必以超链接形式标明文章原始出处:http://dapalm.com/ubuntu-14-04-vps部署nginx-php-mariadb-phpmyadmin-wordpress个人博客.html,作者:大数据,怕了么?
1.个人博客建站软件及版本选择:

首先网站所使用的VPS服务器是日本软银旗下的IDCF,在使用的这段时间来说,还是相当稳定的,除了晚上8-9点钟会偶尔抽风,一切正常,价格也能接受,一个月540日元(含税)。搭建网站后台主要使用Ubuntu14.04 + Nginx1.46 + PHP 5.5.9 + MariaDB 10.0.28 + wordpress 4.7 + PHPMyAdmin 4.0.10,也不知道这些软件版本的新旧,本着初学能用,先把个人博客环境搭出来,慢慢再改进优化的原则,向各位介绍介绍自己的搭建过程。

1.1 Ubuntu 14.04.5 LTS

1.2 Nginx 1.4.6

1.3 PHP 5.5.9

1.4 MariaDB-10.0.28

1.5 PHPMyAdmin 4.0.10

上面是本站点所用的服务器端软件,前期搭建时,除了不少问题,都是因为Nginx版本和MysqL的问题,后来把Nginx版本从1.10.x降到了1.4.x,抛弃了MysqL直接使用它的替代品MariaDB,很迅速的网站就跑起来了。因为是网站新手,之前也没有太多相关经验,往大伙海涵,本人现在程序员一枚,刚刚研究生毕业,准备从事图像深度学习领域的工作,以后博文主要还是集中在分享深度学习和嵌入式硬件相关技术上。个人建站只是个业余爱好,业余归业余,作为一名励志成为优秀软件工作者的“大掌”来说,还是要认真对待的。下面讲讲具体的操作步骤,供各位参考:

2.网站后台搭建步骤:
2.1 安装软件
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: 一个常用的进程监控工具

软件安装很简单,是参考王子亭的博客:https://jysperm.me/2014/09/1830/。

2.2 wordpress安装设置

新建一个普通用户,并切换到该用户

adduser myblogweb
su myblogweb
cd ~

下载 wordpress,使用的是中文最新版4.7:

wget http://cn.wordpress.org/wordpress-4.7-zh_CN.zip

解压文件:

unzip wordpress-*.zip

设置文件权限:

chmod -R 750 wordpress

删除安装包:

rm wordpress-*.zip

回到 root:

exit
2.3 配置PHP5-fpm

为 wordpress 创建一个进程池:

vi /etc/PHP5/fpm/pool.d/wordpress.conf

这是一份很典型的配置文件,通过监听 Unix Socket 来提供服务,动态调节进程数,最高 10 个进程,最低 3 个进程:

[wordpress]

user = myblogweb
group = myblogweb

listen = /home/myblogweb/PHPfpm.sock

listen.owner = myblogweb
listen.group = myblogweb
listen.mode = 0660

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

slowlog = /home/myblogweb/PHPfpm.slowlog
request_slowlog_timeout = 5s
request_terminate_timeout = 15s

PHP_admin_value[error_log] = /home/myblogweb/PHPfpm_error.log
PHP_admin_flag[log_errors] = On
2.4 配置Nginx1.4.6

删掉 Nginx 的默认站点:

rm /etc/Nginx/sites-enabled/default

新建一个站点,并链接到/etc/Nginx/sites-enabled/default

vi /etc/Nginx/sites-available/wordpress.conf
ln -s /etc/Nginx/sites-available/wordpress.conf /etc/Nginx/sites-enabled/default

这份配置文件已将请求重写到 index.PHP,可以直接在 wordpress 中使用「固定链接」功能:

server {
    listen 80;
    server_name 你的域名,例如dapalm.com;

    root /home/myblogweb/wordpress;
    index index.html index.PHP;
    autoindex off;

    location / {
        try_files $uri $uri/ /index.PHP;
    }  

    location ~ \.PHP$ {  
        fastcgi_pass unix:///home/myblogweb/PHPfpm.sock;
        include fastcgi_params;
        fastcgi_index index.PHP;
    }
}

fastcgi_param SCRIPT_FILENAME开头的行改为:

vi /etc/Nginx/fastcgi_params
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

为 Nginx 添加读取 wordpress 文件的权限:

usermod -G myblogweb -a www-data
2.5 配置 MariaDB

进入 MariaDB控制台:

MysqL -p
# 需要输入你的 MysqL root 密码

# 创建数据库,数据库名例如wordpressDB
CREATE DATABASE `数据库名`;

# 为 wordpress 新建用户,用户名和密码均为根据自己情况填
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';

# 授予权限
GRANT ALL PRIVILEGES ON  `数据库名` . * TO  '用户名'@'localhost';

# 退出
exit
2.6 安装PHPMyAdmin(即MysqL图形管理界面)
sudo apt-get install PHPmyadmin
sudo ln -s /usr/share/PHPmyadmin/ /home/myblogweb/wordpress/pma

这样,就可在浏览器上输入:你的域名/pma。即可访问数据库,输入管理员账户和密码登录。


至此,网站后台就搭建起来了,相对于初学者已经够用了,后期可以在进行优化。浏览器输入:你的域名/wp-admin对你的网站进行wordpress后台管理编辑。wordpress简单易用,对于初学者来说,关注主题和插件即可搭建出漂亮的网站来。

Ubuntu 14.04 VPS部署个人博客nginx+php+MariaDB+phpMyAdmin+WordPress的更多相关文章

  1. wordpress添加Html5的表单验证required方法小结

    这篇文章主要介绍了wordpress添加Html5的表单验证required方法小结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. iOS设备上的Safari正在加载损坏的图像 – WordPress网站

    有问题的图像是JPEG,我把它们缩小到更小的尺寸.有问题的WordPress网站是响应式的,当我使用移动网络加载网站时就会发生这个问题.无线方面,它没有问题,但在3G/4G上,随机加载的图像,一些被破坏,图像交换位置,所以所有的css和js似乎搞砸了.我正在使用W3缓存来提高速度,但没有任何帮助.有些图像是半灰色,黑色,有时看起来有点破损.这只发生在带有safari浏览器的iOS设备上.其他人面临同样的问题?

  3. 在我的Android应用程序中从WordPress获取帖子

    我是Android开发的新手,我正在尝试创建一个只显示WordPress网站上的帖子类别和帖子的应用程序.请帮助我.解决方法您要做的是从wordpress创建某种RESTAPI,以返回对您的AndroidHTTP请求的JSON响应.要做到这一点,首先针对Android,您可以参考这篇文章:MakeanHTTPrequestwithandroid然后,对于服务器端(您的wordpress),您将不得

  4. Vue项目打包并部署nginx服务器的详细步骤

    vue项目开发好之后需要部署到服务器上进行外网访问,下面这篇文章主要给大家介绍了关于Vue项目打包并部署nginx服务器的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

  5. ubuntu中利用nginx部署vue项目的完整步骤

    Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行,下面这篇文章主要给大家介绍了关于ubuntu中利用nginx部署vue项目的相关资料,需要的朋友可以参考下

  6. 使用Node.js配合Nginx实现高负载网络

    这篇文章主要介绍了使用Node.js配合Nginx实现高负载网络,Node的异步加上Nginx的反向代理在性能上实在是给力!需要的朋友可以参考下

  7. 8个出色的WordPress SEO插件收集

    以下是几个一流的SEO插件列表,它们可以帮助我们提高WordPress站点在搜索引擎中的排名。

  8. CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)

    这篇文章主要介绍了CentOS 7.2 mini版本下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  9. 详解WordPress中用于更新和获取用户选项数据的PHP函数

    这篇文章主要介绍了WordPress中用于更新和获取用户选项数据的PHP函数,分别为对update_user_option()函数和get_user_option()函数用法的讲解,需要的朋友可以参考下

  10. WordPress用户登录框密码的隐藏与部分显示技巧

    这篇文章主要介绍了WordPress用户登录框密码的隐藏与部分显示技巧,需要的朋友可以参考下

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部