本文共 2879 字,大约阅读时间需要 9 分钟。
某公司的社交网站采用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 /optcd /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 //开启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 //停止
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
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
/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 //关闭防火墙和安全功能
mkdir -p /var/www/html/webphpvim /var/www/html/webphp/index.php
浏览器输入: 验证
参考博文:
转载于:https://blog.51cto.com/13641879/2151785