博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群
阅读量:6922 次
发布时间:2019-06-27

本文共 2879 字,大约阅读时间需要 9 分钟。

案例概述

某公司的社交网站采用PHP语言开发,为了管理PHP程序员开发的代码,上级领导要求搭建SVN服务器进行版本控制。社交网站的第一个版本部署在LNMP平台之上,前端为Nginx服务器,通过fastcgi协议访问后端的PHP服务器。为了保证数据安全,要求搭建MySQL数据库主从集群。

社交网站项目包含用户的相册功能,允许用户上传照片,上传照片需要使用共享存储来存放。针对共享存储可用的开源方案有很多,如MFS、FastDFS 等。公司决定使用MFS分布式文件系统来实现,并将MFS挂载在PHP服务器的相关目录下。

社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群

案例实施

根据公司的需求,实施过程大致分为以下步骤。

  • 部署SVN服务器,为PHP程序员创建repo目录的访问账户,通知程序员可以导入代码。
  • 部署MySQL主从服务器,根据PHP程序员的要求创建数据库与表。
  • 部署Nginx服务器。部署PHP服务器。
  • 部署MFS,将MFS文件系统挂载在前端PHP服务器的相关目录下。
  • 通知上线部署人员可以发布上线。

部署Nginx服务器

1、Nginx服务器安装
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 /optcd /opt/nginx-1.6.0/ ./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_stub_status_module             make && make install
2、修改Nginx配置

需要配置后端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服务器+PHP服务器搭建+MySQL主从集群

3、开启Nginx
nginx          //开启Nginxnetstat -antp | grep nginxtcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6502/nginx: mastersystemctl stop firewalld.service setenforce 0             //关闭防火墙和安全功能#nginx -t       //检查#nginx          //启动#killall -1 nginx   //重启#killall -3 nginx   //停止

社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群

部署PHP服务器

1、安装PHP,并且通过配置php-fpm进程监听9000端口来接受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-fpmmake && make install
2、修改php-fpm.conf文件来接受Nginx请求
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.piduser = phpgroup = phplisten = 0.0.0.0:9000pm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35
3、开启服务并测试
/usr/local/php/sbin/php-fpm        //开启php-fpm进程netstat -ntap | grep 9000tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      104389/php-fpm: massystemctl stop firewalld.service setenforce 0         //关闭防火墙和安全功能

社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群

4、创建测试页面,浏览器访问测试
mkdir -p /var/www/html/webphpvim /var/www/html/webphp/index.php

浏览器输入: 验证

社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群

MySQL主从集群

参考博文:

转载于:https://blog.51cto.com/13641879/2151785

你可能感兴趣的文章
线程同步之mutex和Semaphore
查看>>
Application_Error
查看>>
JS创建类和对象
查看>>
王艺洁 - 百度百科
查看>>
how to check the computer is 32 bit or 64bit in linux
查看>>
C语言 线性表 链式表结构 实现
查看>>
HighCharts设置图表背景透明
查看>>
HDUOJ---What Are You Talking About
查看>>
window系统下调度数据库类型资源库中的kettle job
查看>>
【知乎】神回答,我们吐的不是槽 233
查看>>
Linux防火墙
查看>>
javascript content
查看>>
Spring <context:annotation-config />讲解
查看>>
Linux 命令集合
查看>>
vim的vim-addons的问题
查看>>
转 解决:error: Cannot find libmysqlclient_r under /usr/local/mysql.
查看>>
一点项目经验的总结
查看>>
MFC用GDI+动感歌词的制作
查看>>
微信5.2
查看>>
【fedora】制作安装u盘
查看>>