……

中小企业架构(未完)

项目目标:部署一个php电子商务网站

部署前的系统规划图

  • 0 实现效果

  • 1 画一个简单的架构图

  • 2 使用到的技术进行简单说明

  • 3 主机规划

  • 4 搭建步骤

  • 5 脚本一键式部署完成

  • 1.1 架构设计图
  • 1.2 使用的技术简单说明

技术栈:
lvs,keepalived,mysql,nginx,rsync,nfs,php,pssh

服务器简单说明 安装的技术服务
nginx服务器 主要进行负载均衡,访问的分流
动态web服务器 处理用户的动态界面访问
静态web服务器 为用户提供静态的浏览,图片,附件等
NFS存储服务器 上传的图片,附件,头像等
mysql服务器 存储数据,进行主从备份
rsync服务器 数据库的定时备份
  • 3.1 主机规划
  • 4.1 网站搭建流程
  • 因为时间原因,我就不源码安装程序的,全部使用yum进行安装,真实企业环境中,一定要在本地测试,性能进行优化,安装安全工具,进行系统检查

  • (1)节约时间进行lnmp的搭建
    两台机器同时进行搭建,可以使用ansible进行搭建,我这里使用轻量级的pssh工具进行自动化

  • 4.1.1mariadb源下载地址:

image.png

  • 4.1.2nginx源下载地址:

image.png

  • 4.1.3php源码下载地址:
yum remove php php-common
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php70w php70w-opcache
yum install php70w-fpm php70w-opcache
yum install php70w-pdo
  • 4.1.4配置镜像源

image.png
wget-O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

  • 4.1.5使用轻量级的自动化工具pssh

image.png

  • 4.1.6创建mariadb源,推送ssh密钥

image.png

  • 4.1.7推送nginx+mariadb

image.png

  • 4.1.8测试pssh

image.png

  • 4.1.9安装mariadb+nginx

最好用脚本,写一个很简单

image.png

下载太慢,看看今天能不能搞完吧,那就简单搞了,不优化了,跑起来就行了
image.png

部署php,写个脚本直接运行

!/bin/bash
php_install(){
#php编译安装
#和nginx使用相同的用户,如果没有就创建
`id www` &> /dev/null
[ $? -ne 0 ] && useradd -s /sbin/nologin -M www
#解决依赖
yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel openssl-devel
#解压
tar xvf php-7.2.12.tar.gz
cd php-7.2.12
#编译安装php
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-libzip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts && make && make install
#配置文件初始化
cp php.ini-development /usr/local/php/etc/php.ini
#php-fpm服务配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#php-fpm服务子配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
#配置服务及其环境变量
cp /root/soft/php-7.2.12/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
service php-fpm start
chkconfig --add php-fpm
echo 'PATH=/usr/local/php/bin:$PATH' >> /etc/profile
}
#脚本开始时间
start_time=`date +%s`
#执行的脚本代码
php_install
#脚本结束时间
end_time=`date +%s`
#脚本执行花费时间
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'

image.png

image.png

查看开源项目的db.php 得知用户连接demo密码是demo
image.png

  • 4.1.10直接访问电子商城网站
  • 4.1.10 测试负载均衡访问

image.png

  • 4.2 数据库主从复制

下载(php电子商务系统代码 两套项目)

  • 最近比较忙,没时间看看这个代码,就简单跑起来,导入数据到数据库
    image.png

image.png

下载没有提供zip使用Git下载
image.png

php电子商务商场系统效果图

  • 最近比较忙,没时间看看这个代码,就简单跑起来,导入数据到数据库
    image.png

image.png

posted @ 2020-08-06 22:49  韩说不白说  阅读(139)  评论(0编辑  收藏  举报