社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群
2018-07-29 15:42
1761 查看
案例概述
某公司的社交网站采用PHP语言开发,为了管理PHP程序员开发的代码,上级领导要求搭建SVN服务器进行版本控制。社交网站的第一个版本部署在LNMP平台之上,前端为Nginx服务器,通过fastcgi协议访问后端的PHP服务器。为了保证数据安全,要求搭建MySQL数据库主从集群。社交网站项目包含用户的相册功能,允许用户上传照片,上传照片需要使用共享存储来存放。针对共享存储可用的开源方案有很多,如MFS、FastDFS 等。公司决定使用MFS分布式文件系统来实现,并将MFS挂载在PHP服务器的相关目录下。
案例实施
根据公司的需求,实施过程大致分为以下步骤。部署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 /opt cd /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/ //方便管理,建立软链接
3、开启Nginx
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 //停止
部署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-fpm make && 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.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
3、开启服务并测试
/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 //关闭防火墙和安全功能
4、创建测试页面,浏览器访问测试
mkdir -p /var/www/html/webphp vim /var/www/html/webphp/index.php <?php phpinfo(); ?>
浏览器输入:http://192.168.43.222/index.php 验证
MySQL主从集群
参考博文:http://blog.51cto.com/13620936/2150981相关文章推荐
- nginx+apache+php+mysql服务器集群搭建
- 超详细搭建SVN+Nginx+PHP+MySQL+MFS服务构建社交网站
- 部署社交网站全过程(Nginx+PHP+Mysql+MFS+SVN)
- nginx+apache+php+mysql服务器集群搭建
- nginx+apache+php+mysql服务器集群搭建
- CentOS+Nginx+MySql+PHP搭建高并发网站服务器时遇到的问题备忘
- 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的
- nginx+apache+mysql+php+memcached+squid搭建集群web环境
- CentOS+Nginx+PHP+MySQL 搭建高性能的web服务器
- 使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)
- nginx+php+mysql 搭建完整web服务器
- 理解docker部署springboot-搭建mysql主从集群(二)
- CentOS服务器Mysql主从复制集群的搭建
- 阿里云服务器(Ubuntu 12.04 64位)搭建 Nginx、MySQL、PHP Web服务器 (二)
- LNMP(linux+nginx+mysql+php)网站服务器架构
- Centos 6.5 搭建LNMP服务器(nginx+mysql+php)
- Debian+Nginx+PHP(FastCGI)+MySQL搭建LNMP服务器(三版)
- linux+nginx+mysql+php高性能服务器搭建
- 部署社交网站- MYSQL主从 与 MFS 文件系统
- 服务器基础搭建最全教程 CentOS 7.0编译安装 Nginx1.6.0 + MySQL5.6.19 + PHP5.6.30