基于三台主机部署phpwind
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的更多相关文章
- Ubuntu16.04环境下搭建基于三台主机的mysql galera cluster集群(实测有效)
(注意: (1)文中红色字体部分不一定需要操作 (2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!! ) 一 搭建环境: 1 Ubuntu16.04版本(系 ...
- 基于docker 如何部署surging分布式微服务引擎
1.前言 转眼间surging 开源已经有1年了,经过1年的打磨,surging已从最初在window 部署的分布式微服务框架,到现在的可以在docker部署利用rancher 进行服务编排的分布式微 ...
- HAProxy详解(三):基于虚拟主机的HAProxy负载均衡系统配置实例【转】
一.基于虚拟主机的HAProxy负载均衡系统配置实例 1.通过HAProxy的ACL规则配置虚拟主机: 下面将通过HAProxy的ACL功能配置一套基于虚拟主机的负载均衡系统.这里操作系统环境为:Ce ...
- Swarm基于多主机容器网络 - overlay networks 梳理
前面介绍了Docker管理工具-Swarm部署记录,下面重点说下Swarm基于多主机容器通信的覆盖网络 在Docker版本1.12之后swarm模式原生支持覆盖网络(overlay networks) ...
- 记基于docker+gunicorn部署sanic项目遇到的很多很多坑
前言: 最近有个项目需要上线,是python中sanic网络异步框架写的,并且要求使用docker+nginx来部署项目实现负载均衡,于是乎百度了sanic项目部署,基本上都是基于docker+gun ...
- Linux环境基于CentOS7 搭建部署Docker容器
1.Docker容器概述 区分Docker容器技术和VM虚拟机技术: evernotecid://394EFE90-9CE0-4D65-A8CD-DFEC0DC8061E/appyinxiangcom ...
- 基于Ambari Server部署HDP集群实战案例
基于Ambari Server部署HDP集群实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari Server端 博主推荐阅读: https://www.c ...
- Ice系列--基于IceGrid的部署方案
前言 前一篇文章介绍了IceGrid的简单应用.这篇文章来介绍一下它的高端玩法-如何将模板,复制组,知名对象应用于部署方案及其作用. 基于模板的部署方案 之前介绍了xml格式的配置文件通过各种描述符如 ...
- 使用nginx实现一个主机部署多域名指向不同docker项目
1,安装 docker yum install docker 使用Docker 中国加速器 vim /etc/docker/daemon.json 添加下面代码 { "registry-m ...
随机推荐
- Hibernate入门(一)
一 Hibernate介绍 Hibernate 是一个开源.轻量级的ORM(对象关系映射)工具,该工具简化了数据创建.数据处理和数据访问,它是一种将对象映射到数据库中表的编程技术.ORM工具内部使用J ...
- Linux命令 文件的建立移动删除
cat [功能说明] 建立文件 #cat命令用来串接文件或显示文件内容的但是如果从标准输入设备中读入数据并将结果重定向到一个新的文件中,则可以到达建立新文件的目的.Cat命令只能在编辑新的文件时只能 ...
- 一篇文章带你快速入门createjs
开始用createjs这个框架的时候,发现网上的相关教程还是挺少的,所以写一篇文章,方便日后查看. createjs简介 官网:http://www.createjs.cc/ createjs中包 ...
- php中的捕获异常操作
<?php if(!isset($_SESSION)){ session_start(); } include '../common/mysql.class.php'; include '../ ...
- mysql show processlist
- 优化mysql数据库的几个步骤
析问题: 1. 开启慢查询日志. 这个步骤就是为了记录慢查询的sql,为下个步骤做准备,此步骤相关的知识点有如下: 1. show variables like '%slow_query_log%'; ...
- 【Android Developers Training】 55. 序言:高效显示位图
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 12.js如何将明文转为MD5
1.先下载MD5.JS 2.引入,使用hex_md5(str)即可
- 1.如何安装maven
[确认]在CMD命令行中输入echo %JAVA_HOME%,查看JAVA_HOME是否配置.在CMD命令行中输入java -v,查看jdk是否正确安装. [下载]从http://maven.ap ...
- 如何使程序运行在UI线程
context.runOnUiThread(new Runnable() { @Override public void run() { _prop = new Prop(buyType, money ...