(1)配置概要:1、 172.18.17.7主机运行httpd+php服务(php为模块工作模式)配置两台虚拟主机:wordpress个人博客系统、phpMyAdmin远程控制MySQL
2、172.18.17.8主机运行mariadb服务(mysql)
(2)配置流程:首先配置172.18.17.7主机:http服务1、安装程序:[Root@johnson’s linux ~]# yum install httpd php php-mysql php-mbstring========================================================================================Package Arch Version Repository Size========================================================================================Installing:httpd x86_64 2.4.6-40.el7.CentOS base 2.7 Mphp x86_64 5.4.16-36.el7_1 base 1.4 Mphp-mbstring x86_64 5.4.16-36.el7_1 base 503 kphp-mysql x86_64 5.4.16-36.el7_1 base 99 kTransaction Summary=======================================================================================
httpd:提供web服务php:安装后自动编译为httpd的模块,用于处理动态资源php脚本php-mbstring:此程序包为phpMyAdmin远程控制mysql所必须的php-mysql:php驱动mysql的库文件程序包
2、服务配置
包都安装完成之后,进入下一步的配置阶段:
(1)添加虚拟主机:(基于FQDN)虚拟主机有三种配置方式:一种是基于不同ip,相同端口(80),二是相同IP不同端口,三是同一IP不同主机名(FQDN),不管何种配置方式,最后解析到的主机只有一台,但是在请求报文首部信息会有不同!以下,仅演示基于FQDN的配置方式
编辑:/etc/httpd/conf.d/vhost.conf文件[root@johnson’s linux ~]# vim /etc/httpd/conf.d/vhost.conf# 添加如下内容,基于FQDN的虚拟主机配置
Options:为个目录的选项,可以指定多个特性如:Index,启动资源索引,其作用是在用户在访问指定的URL不存在时,返回web资源索引,此选项非常危险,不建议启用,否则源码则会web源码暴露,后果很严重
访问权限设定:Require all Granted/deny, Granted表示允许,all表示所有,deny表示拒绝需要注意的是:CentOS7是默认拒绝所有主机访问DocumentRoot的资源,所以,配置虚拟主机必须要配置此先参数
(2)为虚拟主机创建配置文件中定义的资源目录并[root@johnson’s linux ~]# mkdir/www/{host,host2}/htdoc
(3)添加测试资源[root@johnson’s linux ~]# vim /www/host/htdoc/index.php# 前面这段是测试php与mysql连通性的PHP代码# 测试php是否正常工作的php代码
(4)配置httpd主配置文件编辑:/etc/httpd/conf/httpd.conf[root@johnson’s linux ~]# vim /etc/httpd/conf/httpd.conf# 找到 DocumentRoot “/var/www/html” ,#将其注释掉,一般使用虚拟机都要注释掉,避免冲突#DocumentRoot “/var/www/html”# 添加php主页索引DirectoryIndex index.php index.html # 将index.php添加在前头,这样就会默认访问此类资源索引# 取消 服务器 名称注释
(5)启动服务,测试是否正常# 检测配置文件语法有没有错误[root@johnson’s linux ~]# httpd -t# 语法无误启动服务[root@johnson’s linux ~]# systemctl start httpd.service
打开网页查看服务是否正常
http服务测试正常,php模块也能正常工作,但是,如你所见,mysql的连接是失败,因为我们还mysql的服务器还没有配置
下面关于的内容你可能也喜欢
:
(5)获取wordpress和phpmyadmin博主的是在局域网中ftp服务器中下载的wordpress配置:
# 下载并解压至/www/host/htdoc# cd 到wordpress目录 ,配置文件如下[root@johnson’s linux wordpress]# lsindex.php wp-blog-header.php wp-cron.php wp-mail.phplicense.txt wp-comments-post.php wp-includes wp-settings.phpreadme.html wp-links-opml.php wp-signup.phpwp-activate.php wp-config-sample.php wp-load.php wp-trackback.phpwp-admin wp-content wp-login.php xmlrpc.php# 复制配置文件以上的 wp-config-sample.php 为 wp-config.php[root@johnson’s linux wordpress]# cp wp-config-sample.php wp-config.php# 编辑配置文件[root@johnson’s linux wordpress]# vim wp-config.php// ** MySQL 设置 – 具体信息来自您正在使用的主机 ** ///** WordPress数据库的名称 */DeFine(‘DB_NAME’, ‘wpdb’); # 此填写mysql所要授权数据库的名字(后面会配置)/** MySQL数据库用户名 */define(‘DB_USER’, ‘wpuser’); # 填写数据库的用户名/** MySQL数据库密码 */define(‘DB_PASSWORD’, ‘wppasswd’); # 填写数据的密码/** MySQL主机 */define(‘DB_HOST’, ‘172.18.17.8’); # 填写mysql主机的ip/** 创建数据表时默认的文字编码 */define(‘DB_CHARSET’, ‘utf8’);/** 数据库整理类型。如不确定请勿更改 */define(‘DB_COLLATE’, ”);
phpmyadmin配置:1234567891011121314151617181920212223242526272829303132 # 将包下载并解压至/www/host2/htdoc# cd 到 文件目录# 创建符号连接[root@johnson’s linux htdoc]# ln -s phpMyAdmin-4.4.14.1-all-languages myadmin[root@johnson’s linux htdoc]# lsindex.php phpMyAdmin-4.4.14.1-all-languagesmyadmin phpMyAdmin-4.4.14.1-all-languages.zip#cd 至myadmin 目录里面,修改配置文件[root@johnson’s linux htdoc]# cp config.sample.inc.php config.inc.php#编辑配置文件[root@johnson’s linux htdoc]# vim config.inc.php$cfg[‘blowfish_secret’] = ‘o71mI9rimj6syc00fT3g’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */#单引号填写随机密码,可使用openssl rand -base64 15(密码长度)生成/** Servers configuration*/$i = 0;/** First server*/$i++;/* AuThentication type */$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;/* Server parameters */$cfg[‘Servers’][$i][‘host’] = ‘172.18.17.8’; # 数据库主机ip$cfg[‘Servers’][$i][‘connect_type’] = ‘tcp’;$cfg[‘Servers’][$i][‘compress’] = false;$cfg[‘Servers’][$i][‘AllowNoPassword’] = false;
——————————————————————————–172.18.17.8主机配置:mysql服务
(1)yum安装程序1234567891011121314151617 [root@johnson’s linux ~]# yum install mariadb-server========================================================================================Installing:mariadb-server x86_64 1:5.5.44-2.el7.centos base 11 MInstalling for dependencies:mariadb x86_64 1:5.5.44-2.el7.centos base 8.9 Mperl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 kperl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 kperl-DBD-MySQL x86_64 4.023-5.el7 base 140 kperl-DBI x86_64 1.627-4.el7 base 802 kperl-IO-Compress noarch 2.061-2.el7 base 260 kperl-Net-Daemon noarch 0.48-5.el7 base 51 kperl-PlRPC noarch 0.2020-14.el7 base 36 kTransaction Summary========================================================================================
一大推依赖包,只要有yum在且yum源配置没有问题,可以轻松解决
(2)启动服务,执行安全安装操作12345678910111213141516171819202122232425262728293031323334353637383940414243444546 [root@johnson’s linux ~]# systemctl start mariadb# 查看监听端口,3306为mariaDB的默认监听端口[root@johnson’s linux ~]# ss -tnlState Recv-Q Send-Q Local address:Port Peer Address:PortLISTEN 0 50 *:3306 *:*LISTEN 0 128 *:22 *:*LISTEN 0 128 :::22 :::*执行安全安装操作[root@johnson’s linux ~]# mysql_secure_installationSetting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.Set root password? [Y/n] y # 设置管理员登陆秘密(此密码和linux系统的root没关系)New password:Re-enter new password: # 输入密码即可Password upDated successfully!Reloading privilege tables..… Success!Remove anonymous users? [Y/n] y # 是否移除匿名用户(在执行安全安装之前不需要密码登陆)… Success! # 允许匿名登陆时很危险的,建议移除Disallow root login remotely? [Y/n] n # 是否不允许管理员账号远程登陆,一般情况下建议不允许… skipping.Remove test>
在node.js领域中哪一个框架用来架构API比较好
程序 or 框架?程序是已经成型的应用,你需要的是为它搭建环境、添加配置,然后就可以运行起来;框架则是应用的骨架,你需要为它添加数据模型、业务逻辑,它才能成为应用,开始提供服务。 事实上,对于Web开发来说,程序和框架的区别正越来越模糊,比如几乎妇孺皆知的Wordpress,它是一个博客程序,但它丰富的插件以及高度的 自定义能够支持很大程度上的二次开发,在这点上它比起一些PHP框架也并不逊色。 我个人认为,如果重心在于提供服务而不是掌握技术,有WordPress 这样的程序是没有必要使用框架的。 可惜的是,由于Nodejs还很年轻,目前还没有WordPress这样的程序,因此目前在开发里,如果想做出自己想要的作品,框架是必然的选择。 如果是某些特定类型的应用,可以尝试一些开源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。 回到顶部 Web框架有哪些?里的Web框架分为API框架和Web应用框架。 前者能够开发出RESTful的API,后者也能开发出RESTful API,但还包括模板、渲染等为前端所准备的功能。 API框架的使用场景是为跨平台应用提供统一的数据模型,而渲染由前端/客户端自行解决。 目前比较知名的API框架有restify(文档、Github、NPM)(官网、Github、NPM)LoopBack(官网、Github、NPM)Frisby(官网、Github、NPM)(官网、Github、NPM)Web应用框架顾名思义,就是为了打造Web应用所开发的框架。 这里有两种风格的Web应用框架。 一个是Sinatra风格,另一个是Rails风格。 Sinatra和Rails都是Ruby语言的Web框架,后者的影响力更大也更为知名。 这里简单的解释一下两种风格是什么意思。 Sinatra风格是指高度可配置,注重开发的自由度。 代表性的Nodejs Web框架有:Express(官网、Github、NPM)TJ大神开发,官方推荐 hapi(官网、Github、NPM)(官网、Github、NPM)flaliron(官网、Github、NPM)(官网、Github、NPM)locomotive(官网、Github、NPM)Rails风格则是指不重复自己和约定优于配置,以及严格遵循MVC结构开发。 代表性的框架有(官网、Github、NPM)geddy(官网、Github、NPM)CompoundJS(官网、Github、NPM) 原railswayjs这两种风格无所谓谁优谁劣,全凭使用者的偏好。 而在这两种Web框架之外,还有更大型的框架,即全栈框架,其中的代表是MEAN。 回到顶部MEAN?MEAN指MongoDB+Express++,这一组合包括运行环境、数据库、Web框架和前端引擎。 被称为 全栈框架(Full-stack framework)。 这其中除了之外,每一个都是可替换的,目标是创建从前端到后端,全部使用javascript的Web应用。 由于这一框架的完善性,有人将其称为LAMP的接班人。 LAMP即PHP的典型运行环境,Linux+Apache+MySql+PHP,被大量的用于各种虚拟主机上。 MEAN看似庞大,但事实上要构建完整的现代化Web应用,特别是SPA(单页面应用),这几个组件都是难以缺少的,并且,其中每一项几乎都是目前 情况下的最佳选择,因此用于学习和重头开始打造新的Web应用是非常合适的。 但由于实际业务的独特性,很可能要替换其中的组件,比如用Mysql来替换 MongoDB,因此,学习其中的原理和架构,打造自己的类MEAN框架也是一种选择。 作为个人和小团队来说,全栈框架MEAN基本上足够了,但目前大多数全栈框架还包含一项特性,那就是实时,拥有实时功能的框架我们又称为实时框架。 回到顶部实时框架好吗?实时框架(Real-time framework)指包含了webSocket的双向通信功能,能够在服务器和客户端做到实时通信的框架。 服务端和客户端自由通信的需求一直都在,但由于HTTP协议本身的局限性,因此催生了Comet等变通的方法,但即使这样也离实时相距甚远。 而当 兴起后,另一个HTML5技术webSocket也渐渐成熟,人们突然发现,实时通信一下子变得触手可及,于是webSocket技术在 中得到大量的应用,其中最为知名的模块就是,而各种全栈框架也纷纷加入实时特性来应对更广阔的开发需求。 目前有代表性的实时框架有:Meteor(官网、Github、NPM)(官网、Github、NPM)Derby(官网、Github、NPM)SocketStream(官网、Github、NPM)不过说实话,目前能看到的实时通信的应用场景其实不多,其中大多集中于聊天室、to-do、实时图表、在线游戏等领域。 其他领域使用实时特性不但没必要,而且是对服务器资源的浪费。 因此目前是否要采用实时框架,要看具体的项目而定。 以上基本就是 Web框架的现状了,相信看到这里,对于选择何种框架读者已经心里有数了吧。 最后再介绍一个容易搞混的概念,和解释一下我的选择。 回到顶部YEOMAN?第一次见到这个词,我还以为它和MEAN有什么联系。 事实上,它们是截然不同的两个东西。 YEOMAN由YO(脚手架)、grunt(构建工具)、bower(包管理器),它代表的是一种工作流,与框架开发的思维方式完全不同。 具体的介绍可见这里。 YEOMAN能够和框架达到类似的目的,都是为构建一个Web应用做好准备,但是要不要采用YEOMAN,则是见仁见智。 我个人的看法是,学习 YEOMAN本身就需要不少时间,并且有一定的学习门槛。 至少在目前,使用框架开发还是相对经济的,而如果以后YEOMAN这种模式推广开来,再来学习也 不迟,更何况有一定的项目经验之后再来学习YEOMAN要轻松很多。 事实上,我还是很认可YEOMAN这种Generator+package Manager的模式的,这是因为本身崇尚微模块的 概念,即无论是多么小的功能,都将它们模块化,甚至大的模块也要拆分成小的模块,然后通过搭积木的方式来构建应用。 这样能够彻底的解耦,对于不容易调试的 Javascript来说,也有助于定位和修复应用中的问题。 Generator就是这种理念催生下的产物,通过选择不同的配置和选项,将积木搭起来。 不 过对于这种模式目前大家也还处于实验当中,不急于进行实际应用。 回到顶部为什么我选择了Hackathon Starter?在我的个人项目中,使用的是Hackathon Starter,一个 Web应用脚手架。 我使用它的原因是,要求高度可配置,同时又讨厌写一些配置的代码,因此它对于我来说是很好的选择。 一些全栈框架对我来说,封装过多,将原生的 /Express API隐藏掉了,要使用还需要一定的学习成本。 而Express这样的框架又太过简洁,在实际的项目中使用还需要大量的插件和配置,而这些在 Hackathon Starter中都已经帮我们做好了,同时还有一些示例代码以供学习,对于新人来说非常友好,可以避免过多的挫折感。
建一个大型网站需要用些什么软件
使用LAMPLinux+Apache+Mysql+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。 随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。 LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台,PHP是一种有时候用Perl或Python可代替的编程语言。 这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。 名字来源于每个程序的第一个字母。 每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。 开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。
如何在 Ubuntu 12.04 Server 中安装图形用户界面
使用ubuntu server安装lamp主机非常的方便,只要在安装系统的步骤中选择就是了 。 但是很多时候我需要在图形界面下管理主机更加方便。 今天的教程就是教大家安装图形界面。 【方法一】首先你需要确定你的源文件中 /etc/apt/ 已经使用Universe和Multiverse库。 然后使用下面的命令来进行更新源列表和安装图形桌面。 sudo apt-get update sudo apt-get upgrade sudo apt-get install x-window-system-coresudo apt-get install gdm sudo apt-get install ubuntu-desktop【方法二】如果你只想安装必要的桌面管理软件而不想安装一些诸如 Evolution 和 OpenOffice 的不需要的应用软件,可使用下面的命令: sudo apt-get install --no-install-recommends ubuntu-desktop我执行此命令提示没有ubuntu-desktop【方法三】安装轻量级桌面 xfce 使用下面的命令: sudo apt-get install xubuntu-desktop【方法四】安装 KDE 桌面,使用下面的命令: sudo apt-get install kubuntu-desktop
发表评论