PHPWind(简称:PW)的使命是让网站更具价值,让更多人从网络中享受便利,以提升生活品质。

phpwind是一个基于PHP和MySQL的开源社区程序,是国内最受欢迎的通用型论坛程序之一。phpwind第一个版本ofstar发布于2004年。截止2013年12月phpwind项目品牌由阿里云计算有限公司拥有,软件全面开源免费。

特点

1. 非凡的访问速度
PHPWind 论坛系统一直坚持高效、安全、稳定、易用的原则,采用独创的模板和数据库体系以及专业的代码设计保证了PHPWind论坛系统的持续高效和稳定,让更多的用户体验互联网的最新理念,也让您的站点在互联网时代脱颖而出。
2. 卓越的负载能力
论坛核心参数的合理配置,专业的web 、数据库、附件和图片链的负载均衡处理,保证了站点在繁忙的服务器环境下快速而稳定的运行,极大地提升站点形象
3. 友好的界面和人性化的功能设计
以功能个性化和人性化为基础,PHPWind论坛系统独创所见即所得发贴编辑器,完善的用户自身信息浏览和管理、对论坛浏览和操作更加方面的快捷链接等。
4. 完美的技术架构和扩展性
标准化的插件接口、可持续开发的完美技术架构,实现了PHPWind论坛系统的可持续扩展性。
    注:以上内容来自百度

说明:

	三台主机通过fast-cgi部署LAMP,实现phpwind
httpd主机:192.168.29.110
php主机:192.168.29.120
MariaDB主机:192.168.29.130

1 三台主机安装各自需要的软件

(1)httpd主机:安装httpd

[root@CentOS7 ~]# yum install -y httpd

(2)PHP主机:安装php-fpm组件和php-mysql组件

[root@CentOS7 ~]# yum install  php-fpm  php  php-mysql   php-xml   php-mcrypt

(3)MariaDB主机:安装MariaDB提供数据库服务

[root@CentOS7 ~]# yum install mariadb-server

2 配置PHP主机

(1)修改php-fpm配置文件/etc/php-fpm.d/www.conf

12行  listen = 192.169.29.120:9000 #修改服务所监听在本地的那个地址和端口上,如果为空则表示本地所有地址。
24行 listen.allowed_clients = 192.168.29.110 #允许那台主机作为客户端连接到本地的PHP服务器
225行 php_value[session.save_path] = /var/lib/php/session #为PHP的会话session路径,默认次路径不存在,需要创建。
39行 user = apache #默认进程运行用户
41 行 group = apache #默认进程运行组

(2)创建PHP session路径,并设置路径属主属组为apache

[root@CentOS7 ~]# mkdir -pv /var/lib/php/session
[root@CentOS7 ~]# chown apache:apache /var/lib/php/session

(3)启动php-fpm服务

[root@CentOS7 ~]# systemctl start php-fpm

3 配置httpd主机

(1)新建虚拟主机配置文件

[root@CentOS7 ~]# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
Directoryindex index.php
DocumentRoot /data/www/html
ServerName www.myphpwind.com
ProxyRequests Off ##关闭正向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.29.120:9000/data/www/html/$1 ##表示当有后缀为.php的动态资源请求的时候转发到192.168.29.120的主机进行处理。
<Directory /data/www/html >
Options FollowSymLinks ##让连接文件生效
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

(2)确保httpd已经加载了proxy_fcgi_module (shared)模块

[root@CentOS7 ~]# httpd -M |grep proxy_fcgi_module
proxy_fcgi_module (shared)

4 在httpd配置phpwind

(1)把phpwind压缩包复制到指定的DocumentRoot (/data/www/html)目录下

[root@CentOS7 ~]# mkdir  -pv /data/www/html/
mkdir: created directory ‘/data’
mkdir: created directory ‘/data/www’
mkdir: created directory ‘/data/www/html/’
[root@CentOS7 ~]# cd /data/www/html/
[root@CentOS7 /data/www/html]# rz
[root@CentOS7 /data/www/html]# unzip phpwind_v9.0.2_utf8.zip

(2)把phpwind路径中的upload创建软链接

[root@CentOS7 /data/www/html]# ln -s /data/www/html/phpwind_v9.0.2_utf8/phpwind_v9.0.2_utf8_20170401/upload/  /data/www/html/phpwind

(3)修改属主为apache用户

[root@CentOS7 ~]# chown -R apache:apache /data/www/html/phpwind/*

5 在php主机上配置phpwind

由于phpwind既有动态资源也要静态资源,静态资源通过httpd服务器提供,动态资源通过PHP主机提供,所有两台主机都需要配置phpwind文件。配置方法和httpd上相同

(1)把phpwind压缩包复制到指定的DocumentRoot (/data/www/html)目录下

[root@CentOS7 ~]# mkdir  -pv /data/www/html/
mkdir: created directory ‘/data’
mkdir: created directory ‘/data/www’
mkdir: created directory ‘/data/www/html/’
[root@CentOS7 ~]# cd /data/www/html/
[root@CentOS7 /data/www/html]# rz
[root@CentOS7 /data/www/html]# unzip phpwind_v9.0.2_utf8.zip

(2)把phpwind路径中的upload创建软链接

[root@CentOS7 /data/www/html]# ln -s /data/www/html/phpwind_v9.0.2_utf8/phpwind_v9.0.2_utf8_20170401/upload/  /data/www/html/phpwind

(3)修改属主为apache用户

[root@CentOS7 ~]# chown -R apache:apache /data/www/html/phpwind/*

6 通过浏览器访问192.168.29.110/phpwind

可以看到如下页面

点击“接受

(1)按照设置向导配置数据库

(2)点击下一步

7 配置MariaDB服务器

(1)关闭数据库的方向解析

[root@CentOS7 ~]# vim /etc/my.cnf.d/server.cnf
[mysqld]
skip_name_resolve=ON

(2)启动数据库,并登陆

[root@CentOS7 ~]# systemctl start mariadb
[root@CentOS7 ~]# mysql

(3)创建数据库 phpwind

MariaDB [(none)]> create database phpwind;
Query OK, 1 row affected (0.00 sec)

(4)创建用户phpwind并授权

MariaDB [(none)]> grant all on phpwind.* to 'phpwind'@'192.168.%.%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

8 按创建的数据库填写信息

点击“创建数据

phpwind部署成功

基于三台主机部署phpwind的更多相关文章

  1. Ubuntu16.04环境下搭建基于三台主机的mysql galera cluster集群(实测有效)

    (注意: (1)文中红色字体部分不一定需要操作 (2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!! ) 一  搭建环境: 1 Ubuntu16.04版本(系 ...

  2. 基于docker 如何部署surging分布式微服务引擎

    1.前言 转眼间surging 开源已经有1年了,经过1年的打磨,surging已从最初在window 部署的分布式微服务框架,到现在的可以在docker部署利用rancher 进行服务编排的分布式微 ...

  3. HAProxy详解(三):基于虚拟主机的HAProxy负载均衡系统配置实例【转】

    一.基于虚拟主机的HAProxy负载均衡系统配置实例 1.通过HAProxy的ACL规则配置虚拟主机: 下面将通过HAProxy的ACL功能配置一套基于虚拟主机的负载均衡系统.这里操作系统环境为:Ce ...

  4. Swarm基于多主机容器网络 - overlay networks 梳理

    前面介绍了Docker管理工具-Swarm部署记录,下面重点说下Swarm基于多主机容器通信的覆盖网络 在Docker版本1.12之后swarm模式原生支持覆盖网络(overlay networks) ...

  5. 记基于docker+gunicorn部署sanic项目遇到的很多很多坑

    前言: 最近有个项目需要上线,是python中sanic网络异步框架写的,并且要求使用docker+nginx来部署项目实现负载均衡,于是乎百度了sanic项目部署,基本上都是基于docker+gun ...

  6. Linux环境基于CentOS7 搭建部署Docker容器

    1.Docker容器概述 区分Docker容器技术和VM虚拟机技术: evernotecid://394EFE90-9CE0-4D65-A8CD-DFEC0DC8061E/appyinxiangcom ...

  7. 基于Ambari Server部署HDP集群实战案例

    基于Ambari Server部署HDP集群实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari Server端 博主推荐阅读: https://www.c ...

  8. Ice系列--基于IceGrid的部署方案

    前言 前一篇文章介绍了IceGrid的简单应用.这篇文章来介绍一下它的高端玩法-如何将模板,复制组,知名对象应用于部署方案及其作用. 基于模板的部署方案 之前介绍了xml格式的配置文件通过各种描述符如 ...

  9. 使用nginx实现一个主机部署多域名指向不同docker项目

     1,安装 docker yum install docker 使用Docker 中国加速器 vim /etc/docker/daemon.json 添加下面代码 { "registry-m ...

随机推荐

  1. java 实例变量的初始化

    1.对于实例变量,该类没创建一次实例,就需要为实例变量分配一块内存空间:2.程序通过Person对象来访问eyeNum类变量时,底层依然会转换为通过Person访问eyeNum类变量:3.当Perso ...

  2. svn命令行便捷代码

    在把分支merge回主干的时候,有时候需要只提交自己修改过的文件,但是很多文件其实分支上没动过,但却显示有变化,这个其实是属性发生了变化.svn通过svn:mergeinfo来记录merge的记录.所 ...

  3. Tp框架获取客户端IP地址

    /** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @return mixed */ function get_cl ...

  4. 新安装mysql 第三方工具连接不上问题

    Mysql从客户端连接服务器连不上的问题   公司要用Mysql做一个测试,开始在自己的本地建一个Mysql数据库自己本地的程序再连上去,没有遇到过连接不上的问题.这次数据库在服务器上,从本地客户端连 ...

  5. 【LeetCode】66. Plus One

    题目: Given a non-negative number represented as an array of digits, plus one to the number. The digit ...

  6. Java程序设计模式系列之适配器模式

    理解适配器设计模式需要从生活中的场景进行联系,在生活当中有那些东西能够称为适配器呢?从字面上理解,"适配"的意思就是让一个东西和另一个东西配对,能够让他们一起工作,比如大家用的笔记 ...

  7. 把对象列表转化成json数据格式

    package JsonTest; import java.util.ArrayList; import java.util.List; public class test { public stat ...

  8. 最近学习java时的记录

    1.java 的变量一共分为三种,类变量,局部变量,成员变量 类变量就是 加static修饰符的变量 2.java 的修饰符可分为两大类,一 可访问修饰符 protected private publ ...

  9. Java 9 揭秘(8. JDK 9重大改变)

    Tips 做一个终身学习的人. 在本章,主要介绍以下内容: 新的JDK版本控制方案是什么 如何使用Runtime.Version类解析JDK版本字符串 JDK JRE 9的新目录布局是什么 JDK 9 ...

  10. JavaScript第三课 (循环)

    循环语句       !如果至少需要执行一次循环体,就用do … while语句,一般情况下用while语句就可以了. while 语法:一直读取循环到条件为假时停止循环. while(条件) { 语 ...