首页 文章 精选 留言 我的

精选列表

搜索[lamp],共674篇文章
优秀的个人博客,低调大师

LAMP-NFS

需求分析: 前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器; 虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台Web服务器都需要在各自的系统中都存有一份静态页面数据呢? 其实这样也不是不可以,毕竟文件本地访问,速度还是有优势的,但这却涉及到多台Web服务器间内容的一致性问题,尤其是在上线新代码或修改Web配置文件时,即使是使用一些管理工具(如puppet),这种问题也不可避免; 那么如果能将静态页面集中存放,所有Web服务器都来集中地取文件,对于文件的一致性就有了保障,这个集中地就叫做“文件共享服务器”; 文件共享有多种方式,FTP,NFS,Samba等,而其中NFS作为网络文件系统,允许一个系统通过网络共享目录和文件,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,这种近似访问本地文件系统的架构貌似很符合我们的需求,那我们就来试试吧! 架构优化 说明1:NFS服务安装在PHP服务器上,并将网站根目录共享出去,这样,虽然网站内容都在同一个目录,但静态内容会通过NFS由Web服务器读取,而动态内容则通过fcgi交由PHP服务器解析; 说明2:前端Web服务器在挂载NFS共享目录时,需先通过RPC调用机制获得NFS相关服务(如mountd)的端口号,然后再连接通信 RPC调用和NFS的基本原理图 NFS简介 NFS实现文件共享主要由以下3个组件配合完成: nfsd:接受NFS客户端的请求服务 mountd:挂载守护进程,等待客户端的挂载请求,并完成来源认证 rpcbind:此服务允许NFS客户端查询被NFS服务使用的端口 监听端口: NFS服务nfsd本身监听的端口是2049/tcp和2049/udp,但还会启动其它进程(如mountd,statd,rquotad等)以完成文件共享,这些进程的端口是不固定的;是每次NFS服务启动时向RPC服务注册的,RPC服务会随机分配未使用的端口 需安装程序: rpcbind(一般系统自带,可不安装),nfs-utils 主要文件: /etc/exports 主配置文件 /usr/sbin/exportfs 维护NFS共享资源的指令,一般用于NFS服务器端 /usr/sbin/showmount 查看NFS共享出来的目录资源,一般用于NFS客户端 /var/lib/nfs/xtab NFS的日志文件,主要记录曾经连入NFS服务器端的客户端信息 配置部署 NFS服务器配置 在PHP服务器上,安装好nfs-utils组件,并安装phpwind 1 2 3 4 5 6 mkdir /www/phpwind .com unzip phpwind_v9.0_utf8.zip cd phpwind_v9.0_utf8 /upload mv * /www/phpwind .com cd /www/phpwind .com chmod -R a+rw attachment conf data html src themes windid # 需配置这些目录具有写权限,否则安装会出现失败的 编辑NFS主配置文件 1 2 vi /etc/exports /www/phpwind .com 172.16.251.0 /24 (rw,no_root_squash) # 配置共享目录为可读写,客户端root用户权限不压缩 启动服务 1 service nfs start 查看启动进程 1 ps -ef | grep "nfs\|rpc" NFS客户端配置 这里的客户端就是前端的2台Web服务器,先挂载共享目录,然后测试其读写功能 1 2 3 4 showmount -e 172.16.251.163 # 查看NFS服务器共享出来的目录 mkdir /www/phpwind .com # 创建本地挂载目录,因为在httpd的虚拟主机配置中根目录就是配置的/www/phpwind.com mount -t nfs 172.16.251.163: /www/phpwind .com /www/phpwind .com # 挂载在本地 mount # 查看是否以挂载成功 测试(以Web Server1为例) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 核对Web服务器的虚拟主机配置 # vi /etc/httpd/extra/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/www/phpwind.com" ServerName phpwind.com ServerAlias www.phpwind.com ErrorLog "logs/phpwind.com-error_log" CustomLog "logs/phpwind.com-access_log" common ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi: //172 .16.251.163:9000 /www/phpwind .com/$1 <Directory "/www/phpwind.com" > Options Indexes FollowSymLinks AllowOverride None Require all granted < /Directory > < /VirtualHost > 安装测试 访问Web Server1以安装,浏览器访问http://172.16.251.182,会直接跳转至http://172.16.251.182/install.php开始安装 在安装过程中,需填写MySQL数据库的信息,故还需在已有的MySQL中对于phpwind建立相应的数据库和用户, 1 2 create database phpwind; # 数据库名为phpwind grant all privileges on phpwind.* to phpwind@ '172.16.%.%' identified by 'phpwind123' ; # 可访问的用户名和密码分别是phpwind和phpwind123 安装并登录成功 访问测试 首先在Web Server1上发帖 然后在Web Server2上看帖 一切正常,说明前端Web服务器能正常访问NFS服务器,这样就实现了静态文件的集中存放了。 总结 虽然NFS可以实现文件共享的强大功能,节省前端Web服务器的磁盘空间,但NFS不适合大规模的访问场景下,在访问量不太大的情况下,作为图片服务器或者其他静态资源服务器还是挺不错的,总之,任何技术都要在适合的场景下才能发挥其最大的功用! 本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1387056,如需转载请自行联系原作者

优秀的个人博客,低调大师

LAMP-phpMyAdmin

回顾一下我们的架构 说明:在部署完成了HTTPD,MySQL和PHP服务器后,基本架构已经搭建完成了;接下来通过部署phpMyAdmin(web界面管理数据库的工具)来验证这套架构,同时对比PHP加速器对于PHP解析的效率影响。 HTTPD配置修改 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 为了与后期安装的Drupal系统区别,故采用8080端口,需在主配置文件中打开监听8080端口哦 Listen 8080 # 编辑虚拟主机配置文件,文档目录是/www/phpMyAdmin.com,注意ProxyPassMatch的配置格式: # “fcgi地址+DocumentRoot+文档名” vi /etc/httpd/extra/httpd-vhosts .conf <VirtualHost *:8080> DocumentRoot "/www/phpMyAdmin.com" ServerName phpMyAdmin.com ErrorLog "logs/phpMyAdmin.com-error_log" CustomLog "logs/phpMyAdmin.com-access_log" common ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi: //192 .168.1.111:9000 /www/phpMyAdmin .com/$1 <Directory "/www/phpMyAdmin.com" > Options Indexes FollowSymLinks AllowOverride None Require all granted < /Directory > < /VirtualHost > PHP-fpm配置修改 1 2 3 4 5 # 配置其监听本机所有IP的9000端口,以接收外部请求 vi /usr/local/php/etc/php-fpm .conf listen = 9000 # 重启php-fpm service php-fpm restart phpMyAdmin安装配置 1 2 3 4 5 6 7 8 9 10 11 12 # 因为phpMyAdmin程序包中既包含静态页面(如css),也包含动态程序(如php),故需在HTTPD服务器和PHP服务器上都部署一份,且保持配置一致即可;后期会通过NFS文件共享等的机制实现各网页文件集中存放的 # 解压即可使用,注意解压目录修改为HTTPD虚拟主机中配置的DocumentRoot目录哦 unzip -d /www phpMyAdmin-4.0.5-all-languages.zip cd /www mv phpMyAdmin-4.0.5-all-languages phpMyAdmin.com # 修改配置 cd phpMyAdmin.com cp config.sample.inc.php config.inc.php openssl rand -hex 8 # 先生成一个8位密码,配置时有用 vi config.inc.php # 只需修改如下2项即可 $cfg[ 'blowfish_secret' ] = 'deeb57c563a5b0fc' # 填写上面生成的8位密码,作为cookie通信时的加密密钥 $cfg[ 'Servers' ][$i][ 'host' ] = '192.168.1.112' ; # 填入管理的MySQL的地址 验证测试 浏览器访问http://192.168.1.110:8080/ 本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1383566,如需转载请自行联系原作者

优秀的个人博客,低调大师

YUM安装LAMP架构

1、安装apache 1 2 3 yum -y install httpd httpd-devel service httpd start chkconfig httpd on 2、安装mysql 1 2 3 yum install -y mysql mysql-server mysql-devel service mysqld start chkconfig mysqld on 3、安装php及扩展功能 1 yum install -y php php-devel php-mysql php-gd php-xml php-mbstring php-imap php-ldap php-odbc php-pear php-mcrypt php-bcmath php-mhash freetype freetype-devel libpng libpng-devel zlib libxml2 libxml2-devel libjpeg* libgcrypt libgcrypt-devel libxslt libxslt-devel 4、测试 1 2 3 4 5 6 7 chown apache.apache /var/www/html -R #设置目录所有者 chmod 774 /var/www/html -R #设置目录权限 service httpd restart service mysqld restart cd /var/www/html vi index.php <?php phpinfo();?> 输入:http://127.0.0.1 #可以看到相关的配置信息! 本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1290445,如需转载请自行联系原作者

优秀的个人博客,低调大师

CentOS 7搭建LAMP环境

一、检查环境 1.查看centos版本 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@localhost ~]# 2.检查是否安装相关应用 检查apache [root@localhost ~]# service httpd status Redirecting to /bin/systemctl status httpd.service Unit httpd.service could not be found. [root@localhost ~]# 没找到httpd.service说明没有安装apache 检查mysql [root@localhost ~]# service mysqld status Redirecting to /bin/systemctl status mysqld.service Unit mysqld.service could not be found. [root@localhost ~]# 同上,没有安装mysql 二、安装apache [root@localhost ~]# yum -y install httpd 安装成功返回如下: 图片.png 安装apache扩展 [root@localhost ~]# yum -y install httpd-manual.noarch mod_ssl 安装成功返回如下: 图片.png 三、安装php [root@localhost ~]# yum -y install php 安装成功返回如下: 图片.png 安装php-fpm [root@localhost ~]# yum -y install php-fpm 安装成功返回如下: 图片.png 安装php扩展 [root@localhost ~]# yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel 图片.png 安装成功返回如下: 图片.png 四、安装mysql [root@localhost ~]# yum -y install mysql 安装成功返回如下: 可以看到CentOS7安装mysql时候安装的是 mariadb,这是因为mysql被Sun公司收购了,Sun公司又被Oracle收购了,成功了商业的应用,然后mysql停止开源,所以mysql之父又开发了mariadb数据库,mariadb数据库兼容了mysql所有的内容,总之就是换了个名字,和之前mysql使用没有太大区别。 安装mysql-server 图片.png 出错了不要紧,原因上面已经说明了,然后将mysql换成mariadb就好了,下面继续安装: [root@localhost ~]# yum -y install mariadb-server 安装成功返回如下: 图片.png 安装php-mysql [root@localhost ~]# yum -y install php-mysql 安装成功返回如下: 图片.png 安装mysql扩展 [root@localhost ~]# yum -y install mysql-connector-odbc libdbi-dbd-mysql 安装成功返回如下: 图片.png [root@localhost ~]# yum -y install mariadb-devel 图片.png

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册