《家庭财务宝典》

分离部署LNMP搭建WORDPRESS详细步骤

36次阅读

共计 9265 个字符,预计需要花费 24 分钟才能阅读完成。

分离部署LNMP搭建WORDPRESS详细步骤插图

分离部署 LNMP 搭建 WORDPRESS

  • LNMP 是一个基于 CentOS/Debian 编写的 Nginx、PHP、MySQL、PHPMyAdmin。LNMP 代表的就是:Linux 系统下 Nginx+MySQL+PHP 这种网站服务器架构。
  • Nginx 较为稳定、功能丰富、安装配置简单、低系统资源,Nginx 既可以在内部直接支持 PHP,也可以支持作为 HTTP 代理服务器对外进行服务。
  • Nginx 用 C 编写,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 好得多。
  • wordpress 是一款开源免费的产品,利用 php 和 mysql 来开发的博客程序(也有很多人改为网站)。wordpress 的功能非常强大,有众多的插件。没错,WordPress 是世界上最好的博客程序,但是如果你单纯的认为 WordPress 只是一 款博客程序的话,那就大错特错。通过 WordPress 插件和主题,我们可以将这款博客程序扩展成我们需要的、功能不凡的另类用途,例如 CMS、链接目录、论坛、WIKI、电子商务、项目管理、微博、SNS、视频、图片网站等等。但是它的安装却是很简单,安装的办法可以从官网上获取,程序也可以从官网上下载。贴上 wordpress 的官网地址: https://cn.wordpress.org/
  • 很多人在搭建的时候都是使用的一台机器来部署 LNMP 环境,但是我们在实际的工作中一般都是分离部署的。也就是说 MySQL 是 MySQL; 它是一台单机,分离部署自己跑自己的服务,提高效率。
分离部署LNMP搭建WORDPRESS详细步骤插图1

OS:centos 7

Nginx IP:192.168.92.132

PHP IP:192.168.92.128

MySQL IP:192.168.92.130

一 首先安装 nginx

yum 安装软件和源码包安装异同

yum 安装的优缺点

  • 优点:安装东西,方便快捷,特别是不用考虑包依赖
  • 缺点:安装过程,人为无法干预,不能按需,安装。源里面有什么就安装什么,安装的版本也比较低。

源码包安装的优缺点

  • 优点:编译安装过程,可以设定参数,按照需求,进行安装,并且安装的版本,可以自己选择,灵活性比较大
  • 缺点:由于安装包过新或者是其他问题,导致依赖的包没有,或者版本过低。这个时候就要解决包的依赖问题,linux 系统中有的包,一个依赖一个,可能装一个小东西,就要解决一堆包的依赖问题,花很多时间解决包的依赖问题,得不尝失。

NGINX 的优点:

  1. Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器.Nginx 是由俄罗斯人 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发.
  2. Nginx 以事件驱动 (epoll) 的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。但是 Nginx 并不支持 cgi 方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用 FastCGI 方式来执行 PHP 程序。
  3. 由于 Nginx 本身的一些优点,轻量,开源,易用,越来越多的公司使用 nginx 作为自己公司的 web 应用服务器,本文详细介绍 nginx 源码安装的同时并对 nginx 进行优化配置。
  4. Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:
  5. 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50.000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型.
  6. 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP 代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
  7. 作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
  8. Nginx 安装非常的简单,配置文件 非常简洁(还能够支持 perl 语法),Bugs 非常少的服务器: Nginx 启动特别容易,并且几乎可以做到 7 *24 不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。
  9. nginx 的英文官方网站是: http://www.nginx.org/ 在这里我们可以直接查看 Nginx 的各个版本号。Nginx 的软件有三种版本:稳定版,开发板,和历史稳定版。开发板更新的较快,包含最近的功能和 BUG 修复,但同时也可能会遇到新的 BUG,开发板的更新一旦稳定下来就会被纳入稳定版中。稳定版更新的较慢,但是软件的 BUG 会很少,可以作为企业的首选,因此通常建议使用稳定版。当然在实际工作中,选择稳定版时,尽量避免使用最新的版本,选择比已出来的最近版晚 6 -10 个月的版本比较好。在本章我们选择 1.12.2 稳定版本

start:开始环境搭建,首先是安装 NGINX

Nginx 主机:

1)检查并安装 Nginx 基础依赖包 pcre-devel openssl-devel

名称中带有 ”devel” 字符串的软件包是必须要安装的

2)安装 pcre-devel 以及 openssl-devel

yum install -y openssl-devel pcre-devel

3)开始安装 Nginx 操作命令如下:

mkdir -p /home/yankerp/tools

cd /home/yankerp/tools/

wget  http://nginx.org/download/nginx-1.12.2.tar.gz

useradd -M -s /sbin/nologin nginx

tar zxf nginx-1.12.2.tar.gz

cd nginx-1.12.2/

在我们编译安装前我们可以隐藏 Nginx 软件名称以及版本号如下:

Pwd

vim src/core/nginx.h

修改 HTTP 头信息中的 connection 字段,防止回显具体版本号

vim src/http/ngx_http_header_filter_module.c

有时候我们页面程序出现错误,Nginx 会代我们返回相应的错误代码,回显的时候,会带上 nginx 和版本号,我们把他隐藏起来

vim src/http/ngx_http_special_response.c

以上修改完成后正式安装如下:

./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx

make && make install

–with-http_dav_module #增加 PUT,DELETE,MKCOL:创建集合,COPY 和 MOVE 方法

–with-http_stub_status_module #获取 Nginx 的状态统计信息

–with-http_addition_module #作为一个输出过滤器,支持不完全缓冲,分部分相应请求

–with-http_sub_module #允许一些其他文本替换 Nginx 相应中的一些文本

–with-http_flv_module #提供支持 flv 视频文件支持

–with-http_mp4_module #提供支持 mp4 视频文件支持,提供伪流媒体服务端支持

–with-http_ssl_module #启用 ngx_http_ssl_module

安装完成后的优化:

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

启动 Nginx

netstat -anput | grep nginx

此时 Nginx 服务正式安装完成,我们开放 80 端口,在 windows 打开浏览器输入 http://192.168.xx.xx 也就是 nginx 服务器的 IP 地址如果看到以下图片,就表示 Nginx 已经启动了。

开放 80.

firewall-cmd --add-port=80/tcp

firewall-cmd --add-port=80/udp

浏览器访问测试就行

分离部署LNMP搭建WORDPRESS详细步骤插图2
分离部署LNMP搭建WORDPRESS详细步骤插图3

安装 PHP

1) 安装相关的依赖包

yum -y install gcc gcc-c++ libxml2-devel libcurl-devel openssl-devel bzip2-deve

2) 安装 libmcrypt

wget  ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz

tar zxf libmcrypt-2.5.7.tar.gz

d libmcrypt-2.5.7/

./configure --prefix=/usr/local/libmcrypt && make && make install

3) 正式安装 php

下载 php 安装源码包

wget  http://cn2.php.net/distributions/php-5.6.27.tar.gz

解压源码包,并安装(编译过程稍微有点长)

tar zxf php-5.6.27.tar.gz

tar zxf php-5.6.27.tar.gz

./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install

编译安装完后我们创建 Nginx 用户,要求 UID 和 GID 和 Nginx 机器上的一致!

groupadd -g 1001 nginx

useradd -u 900 nginx -g nginx -s /sbin/nologin

tail -1 /etc/passwd

提供 PHP 的配置文件及提供脚本

[root@php php-5.6.27]# cp php.ini-production /etc/php.ini

[root@php php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@php php-5.6.27]# chmod +x /etc/init.d/php-fpm

[root@php php-5.6.27]# chkconfig --add php-fpm

[root@php php-5.6.27]# chkconfig php-fpm on

修改 php 主配置,并编辑如下:

[root@php php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf

[root@php php-5.6.27]# vim /usr/local/php5.6/etc/php-fpm.conf

修改内容如下:

pid = run/php-fpm.pid

user = nginx

group = nginx

listen = 192.168.92.128:9000 //PHP 主机的 IP 地址

pm.max_children = 50

pm.start_servers = 5

pm.min_spare_servers = 5

pm.max_spare_servers = 35

修改完成后启动 php 服务

Service php-fpm start

Netstat -anput | grep php

到这里我们的 php 完成!

PHP 测试页面成功之后就说明 nginx 支持转发 PHP 的资源请求了,接下来部署 wordpress 个人站点:

分离部署LNMP搭建WORDPRESS详细步骤插图4

安装 MySQL:

在 centos7 中默认自带了 mariadb 需要卸载

• rpm -qa | grep mariadb

• mariadb-libs-5.5.44-2.el7.centos.x86_64

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

1) 下载 MySQL 二进制安装包

wget  http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.g

2) 解压 MySQL 二进制包把解压的文件拷贝到 /usr/local/mysql 下,然后进入 mysql 目录查看

3) tar zxf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

4) mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql

5) cd /usr/local/mysql/

3)优化执行路径

echo“export PATH=$PATH:/usr/local/mysql/bin”>> /etc/prof

source /etc/profile

4)创建 data 以及 log 目录如下:

cd /usr/local/mysql/

mkdir data

mkdir log

6) 创建 mysql 用户和组

groupadd mysql && useradd -r -g mysql -s /bin/false mysql

7) 建立 MySQL 主配置文件

vim /etc/my.cnf
[root@mysql mysql]# cat /etc/my.cnf
[client]
socket=/usr/local/mysql/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
socket=/usr/local/mysql/mysql.sock
log_error=/usr/local/mysql/log/mysql.err

8) 设置相应的权限并初始化 MySQL

[root@mysql mysql]# chmod 750 data/ && chown -R mysql . && chgrp -R mysql . && bin/mysqld --initialize --user=mysql

8)复制启动脚本并启动 MySQL 数据库

[root@mysql mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld && service mysqld start

到这里 MySQL 正式安装完毕

在部署前我们在数据库服务器上创建 wordpress 数据库及授权帐户

mysql> create database wordpress;

Query OK, 1 row affected (0.00 sec)

mysql> grant all on wordpress.* to yankerp@‘%’identified by‘123456’;

Query OK, 0 rows affected, 1 warning (0.00 sec)

wordpress 搭建

在 nginx 主机上解压 wordpress 压缩包

[root@nginx ~]# tar zxf wordpress-4.9.1-zh_CN.tar.gz

[root@nginx ~]# mv wordpress/* /www/

在 php 主机上同样的操作

[root@php ~]# tar zxf wordpress-4.9.1-zh_CN.tar.gz

[root@php ~]# mv wordpress/* /www

访问测试: http://192.168.92.132/
分离部署LNMP搭建WORDPRESS详细步骤插图5

这是在 8 上出的问题,未解决,,,,,,,,,,

再开一个机子上了 5.7. 没毛病了,,,,,,

连上数据库了

分离部署LNMP搭建WORDPRESS详细步骤插图6
分离部署LNMP搭建WORDPRESS详细步骤插图7
分离部署LNMP搭建WORDPRESS详细步骤插图8
分离部署LNMP搭建WORDPRESS详细步骤插图9

在数据库主机上可以看用户

分离部署LNMP搭建WORDPRESS详细步骤插图10

WordPress 拓展:

CMS

CMS 是 Content Management System 的缩写,意为”内容管理系统“,可以让你不需要学习复杂的建站技术,不需要学习太多复杂的 HTML 语言,你就能够利用 CMS 构建出一个风格统一功能强大的专业网站。

在这 推荐一款插件 Filosofo Home-Page Control,以及两篇文章:

《5 个简单的步骤把 WordPress 打造成 CMS》

《11 款 CMS 风格的 Wordpress 主题模板收集》

链接目录

链接目录一个通过分类和子 分类进行分类排序的网页链接集。

免费的目录脚本是非常好的,但是他们运行于 WordPress 之外,所以并不是我们想要得。

WP Link Directory

WP Link Directory 是一个 WordPress 的链接目录插件,让你保持一个链接目录,并允许其他网站管理员申请链接到您的网站。它可以检查链接情况,甚至 检查其他网站的 Pagerank 并接受或拒绝您指定的标准为基础的环节。

其主要特点是:

• 自动检查由指定的 Pagerank 网页链接。

•在目录中显示所有站点的 PageRank。

•显示每个链接的详细信息。

•提供多种语言。

•当有新的网址提交时,会自动通知管理员。

•可以和你当前使用的主题无缝的结合

论 坛

论坛作为一个社区网站是必备的一个功能模块,但是当我们使用 discuz、phpwind、phpbb 等这些优秀的 论坛程序时,不得不佩服他的功能强大,但是我们有没有自问过:”自己的网站需要这么复杂的程序吗?”,于是许多优秀的、注重效率、满足基本功能的论坛程序 受到小站长的追捧。

WordPress 团队开发了一个简单的论坛程序 bbpress(有 点像百度贴吧)但是我们有时就是需要再简单点的论坛,这时我们可以使用 WordPress 插件论坛来扩展:Simplepress(《WordPress 论坛插件:Simple Forum》)

WP-Forum(《wordpress 插件之 WP-Forum:打造一个轻量级的 wordpress 论坛》)

WIKI

Wiki 系统属于一种人类知识网格系统,我们可以在 Web 的基础上对 Wiki 文本进行浏览、创 wiki 建、更改,而且创建、更改、发布的代价远比 HTML 文本小; 同时 Wiki 系统还支持面向社群的协作式写作,为协作式写作提供必要帮助; 最后,Wiki 的写作者自然构成了一个社群,Wiki 系统为这个社群提供简单的 交流工具。与其它超文本系统相比,Wiki 有使用方便及开放的特点,所以 Wiki 系统可以帮助我们在一个社群内共享某领域的知识。

插件推 荐:WP-WIKI

安装 WP-WIKI 插件后,添加了发布 WordPress 的页面或文章的”wiki 维基编辑”功能,当你编辑文章或者页面的屏幕的主编辑框下面会添加一个新的 Wordpress Wiki 复选框,你选中它后,那么就意味着任何人可以登陆到你的网站以一个 WikiEditor 维基编辑人的身份编辑这些特定的页面(测试时好像需要用户 名和密码),如果你点击一个旧的修订链接,他只是展示让你详阅所有旧的修订链接。

电子商务

用 WordPress 做个电子商务网站,工作之余在网上卖点小东西,呵呵,是不是很不错的想法,如果你有这样的想法,那么,你就去做吧,为你介绍一款强大的 插件 WP e-Commerce。

WP e-Commerce 是一款电子商务购物车插件程序,它不仅操作方便并且功能强大,可以独立页面显示也可以嵌入到侧边栏中,非常适合在线销售你的服务和产品。此外它还内置多种包括 Paypal 等在内的支付网关,让收款和资金周转更加快捷有效!

支付网关:让你轻松接受在线支付

简 化结算:让客户有更好的购物体验

社会化网络:更轻松的推荐你的产品

紧凑的 WordPress 整合:安装方便

更多的点击和更好的销售:让更多的人了解你的新产品

项目管理

在 WordPress 上轻 松的创建并展示你的项目,跟踪项目和任务的进度。

推荐插件:WP-Project、WP-Advanced-Trac

微博

现在微博很火,就像当年的博客进入中国一样。但是中国微博异于 twitter,在中国微博:娱乐、资讯,而 twitter 上是:资讯、娱乐。

在这微博混战的年代、在这追求新鲜与个性的时代,我注册了几乎所有能注册的 微博,但是真正使用的也就是几个。

在这推荐一个非常强大的 WordPress 主题:P2 主题,这是一款专门的微博主题。

《P2 主题打造真正的多用户微博》

SNS

又是一个当下非常火的网络服务,但是微博来临的时 候,SNS 却黯然失色啦,只能说互联网的兴奋点只能是新生事物

推荐插件:BuddyPress,与 WordPress 师出同门,质量还是可以保证的。BuddyPress 主要包含了个人信息、博客、朋友圈、小组、微博客、状态更新和相册等功能

视频网站

WordPress 通过在 2.9 版本中增强了视频嵌入功能,尤其是对国外网站视频的插入更是智能化。

如果我们想通过 WordPress 建立一个视频网站的话,我想没有比采用 VodPod 主题更好了。《WordPress 视频主题 VodPod 使用教程》

图片网站

如果是单纯的添加一个 相册的话,我想采用 NextGEN Gallery 插件最好不过啦《21 款 WordPress 图片相册插件 / Gallery Plugins》。

但是如果是建立一个图片网站的话,那么选择一款好的图片 主题更为重要:《推荐 8 款 wordpress 图片模板》。

另外再推荐两款插件:Yet another photoblog 和 PhotoQ WordPress Photoblog Plugin

你的工作,由 AI 赋能!🔥

还在为文案、脚本卡壳、做视频、写代码、设计图片灵感枯竭而烦恼吗?🤯

板板 AI,你的工作好帮手!

一键生成    各种文案、脚本、图片、视频、代码、报告,轻松应对各种工作 / 营销需求!

现在注册体验,即可获得:

  • 🎁 30 积分基础模型余额
  • 🎁 3 积分高级模型余额
  • 🎁 3 积分绘画余额

还不快来试试?

点击链接,开启你的 AI 创作之旅!>>>https://www.banbanai.cn

板板 AI,让你的工作效果发挥无限可能! 🚀

正文完
关注板板AI免费获得移动AI助手
post-qrcode
 
天天
版权声明:本站原创文章,由 天天 2024-11-13发表,共计9265字。
转载说明:

本文由 天天资讯网 整理发布,转载请注明出处.
版权声明:部分文章内容或图片来源于网络,我们尊重作者的知识产权。如有侵犯,请联系我们在第一时间删除。

文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月

温馨提示:请在上面搜索| 查找更多免费资源,如需广告位请联系站长QQ 48704478

《家庭财务宝典》