标签:集群 cgi vim php wal c++ web config 数据安全 soc
案例概述某公司的社交网站采用PHP语言开发,为了管理PHP程序员开发的代码,上级领导要求搭建SVN服务器进行版本控制。社交网站的第一个版本部署在LNMP平台之上,前端为Nginx服务器,通过fastcgi协议访问后端的PHP服务器。为了保证数据安全,要求搭建MySQL数据库主从集群。
社交网站项目包含用户的相册功能,允许用户上传照片,上传照片需要使用共享存储来存放。针对共享存储可用的开源方案有很多,如MFS、FastDFS 等。公司决定使用MFS分布式文件系统来实现,并将MFS挂载在PHP服务器的相关目录下。
根据公司的需求,实施过程大致分为以下步骤。
yum -y install pcre-devel zlib-devel gcc gcc-c++ make //安装环境包依赖包
useradd -M -s /sbin/nologin nginx //创建管理用户
tar xzvf nginx-1.6.0.tar.gz -C /opt
cd /opt/nginx-1.6.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
需要配置后端PHP程序的fastcgi访问接口
vim /usr/local/nginx/conf/nginx.conf //配置后端PHP程序的fastcgi访问接口
location / {
root html/webphp;
index index.html index.htm;
}
location ~ \.php$ {
root /var/www/html/webphp;
fastcgi_pass 192.168.43.117:9000; //PHP服务器 IP地址:端口
fastcgi_index index.php;
include fastcgi.conf;
}
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //方便管理,建立软链接
nginx //开启Nginx
netstat -antp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6502/nginx: master
systemctl stop firewalld.service
setenforce 0 //关闭防火墙和安全功能
#nginx -t //检查
#nginx //启动
#killall -1 nginx //重启
#killall -3 nginx //停止
yum -y install gd libxml2-devel libjpeg-devel libpng-devel zlib-devel mysql-devel bzip2-devel gcc gcc-c++ make //安装环境包,依赖包
useradd -M -s /sbin/nologin php //创建管理用户
tar xzvf php-5.3.28.tar.gz -C /opt/
cd /opt/php-5.3.28/
cp /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so //PHP默认去/usr/lib搜索libmysqlclient.so
./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql --with-mysqli --with-mysql-sock --with-config-file-path=/usr/local/php --enable-mbstring --with-jpeg-dir=/usr/lib --enable-fpm
make && make install
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf //配置php-fpm 进程监听9000端口来接受nginx请求
vim php-fpm.conf
......
pid = run/php-fpm.pid
user = php
group = php
listen = 0.0.0.0:9000
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
/usr/local/php/sbin/php-fpm //开启php-fpm进程
netstat -ntap | grep 9000
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 104389/php-fpm: mas
systemctl stop firewalld.service
setenforce 0 //关闭防火墙和安全功能
mkdir -p /var/www/html/webphp
vim /var/www/html/webphp/index.php
<?php
phpinfo();
?>
浏览器输入:http://192.168.43.222/index.php 验证
参考博文:http://blog.51cto.com/13620936/2150981
社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群
标签:集群 cgi vim php wal c++ web config 数据安全 soc
原文地址:http://blog.51cto.com/13641879/2151785