centos 搭建web平台
centos 查询是否安装apache
rpm -qa httpd
出现类似 httpd-2.2.-.el6.centos..x86_64 ,说明已安装
yum -y install httpd // 安装apache
yum -y install php // 安装php php 5.3.3-46
yum -y install mysql // mysql (5.1.73)
yum -y install mysql-server (5.1.73)
yum -y install php-mysql (5.3.3-46)
安装apache扩展:
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
安装php扩展:
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
yum -y install libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
安装mysql的扩展:
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
设置Apache服务的启动级别
chkconfig --levels 235 httpd on
Apache是一个服务,所以,可以通过设置服务的启动级别来让它启动
info:
、验证是否安装成功
现在打开http://ip地址 、安装目录介绍
Apache默认将网站的根目录指向/var/www/html 目录
默认的主配置文件是/etc/httpd/conf/httpd.conf
配置存储在的/etc/httpd/conf.d/目录 apache的配置文件是/etc/httpd/conf下
modules放在/usr/lib/httpd下 php的配置文件在/etc/php.d/下和/etc/php.ini
php的modules放在/usr/lib/php/modules下
mysql的配置配置文件在 /etc/my.cnf #/sbin/chkconfig httpd on [设置apache服务器httpd服务开机启动] or chkconfig --levels httpd on
#/sbin/service httpd start [启动httpd服务,与开机启动无关] or /etc/init.d/httpd start
#/sbin/service mysqld start [启动mysqld服务,与开机启动无关] note: sbin目录本身在系统path环境中,可省略 mysql_secure_installation //或者 /usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h iZ259588ge4Z password 'new-password' chkconfig 命令详解 设置开机启动服务:http://www.jb51.net/LINUXjishu/86331.html
java相关配置:
查看是否安装java ,
java -version
yum list installed | grep java
若有自带安装的openjdk,先卸载掉:
yum -y remove java-1.7.0-openjdk*
yum -y remove tzdata-java.noarch
安装open jdk1.7或以后版本或sun jdk 解压:
openjdk与sun jdk区别参考:http://www.zhihu.com/question/19646618
Oracle的项目发布经理Joe Darcy在OSCON 2011上对两者关系的介绍也证实了OpenJDK 7和Oracle JDK 7在程序上是非常接近的,两者共用了大量相同的代码: http://zhidao.baidu.com/link?url=g7aZwk4DV3iCvDi1fo6w9aIlbBnpxBB-do85u8B1wvTC4NdZSb26RCRE4BCJ_BK6V3fP5aAKxdnX2ODSPP1OnWv2PmKyt-LtSxPyvdkdsV_
查找jdk包
yum -y list java*
yum -y install java-1.7.0-openjdk*
下载sunjdk上传然后安装配置
export JAVA_HOME=/usr/share/jdk1..0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
参考: http://www.linuxidc.com/Linux/2012-09/70780.htm
http://www.centoscn.com/image-text/install/2014/0827/3585.html
http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html
note:
noarch是no architecture的缩写,说明这个包可以在各个不同的cpu上使用
/etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
/etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。
~/.profile : 在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
/etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc : 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
安装tomcat:
yum安装tomcat6
yum -y install tomcat6 tomcat6-webapps tomcat6-admin-webapps tomcat6-docs-webapp tomcat6-javadoc
yum安装tomcat会自动安装相关的软件,如jre环境等,因此不需要单独安装jre。
yum安装后的tomcat目录说明:
配置文件目录:/etc/tomcat6
安装程序主目录:/var/lib/tomcat6/
在Centos使用yum安装后,Tomcat相关的目录都已采用符号链接到/usr/share/tomcat6目录,包含webapps等,这很方便我们配置管理
[root@tomcattest tomcat6]# ll /usr/share/tomcat6
总用量
drwxr-xr-x. root root 10月 : bin
lrwxrwxrwx. root tomcat 10月 : conf ->/etc/tomcat6
lrwxrwxrwx. root root 10月 : lib ->/usr/share/java/tomcat6
lrwxrwxrwx. root root 10月 : logs ->/var/log/tomcat6
lrwxrwxrwx. root root 10月 : temp ->/var/cache/tomcat6/temp
lrwxrwxrwx. root root 10月 : webapps ->/var/lib/tomcat6/webapps
lrwxrwxrwx. root root 10月 : work ->/var/cache/tomcat6/work 修改端口8080为80:
需80端口未被占用,可以使用netstat -nat查看80端口是否在使用。
a)修改vi /etc/tomcat6/server.xml文件的如下字段中的8080为80 <Connector port="" protocol="HTTP/1.1" connectionTimeout="" redirectPort="" />
b)由于在Centos6中,系统不允许tomcat用户使用1024以下的端口,因此还需修改vi /etc/tomcat6/tomcat6.conf
找到CONNECTOR_PORT=""并注释掉,新增如下两行:
TOMCAT_USER="root"
CONNECTOR_PORT=""
注:这样做的安全性有待验证 c)使用命令service tomcat6 restart 重启tomcat服务。以后访问页面就可以只需要输入IP或者主机名即可,而不再需要加端口号。
或者有可用版本的tomcat7
yum list available tomcat* #yum install tomcat tomcat-webapps tomcat-admin-webapps ... service tomcat start //启动tomcat7 或者执行 bin/startup.sh Tomcat7的安装目录位于/usr/local/tomcat7
使用下载压缩版的tomcat7
参考: http://lcbk.net/tomcat/1407.html
tomcat 配置apr
apache整合tomcat
1.通过ajp proxy
2.通过apache jk modules , jk通过ajp协议通信
1.直接通过http-proxy
1.1. 编辑/etc/httpd/conf/httpd.conf在最后追加
ProxyPass /tomcat http://www.evcharge.cc:8080/
ProxyPass /tom http://www.qq.com/
但是这时需要注意:
1.load proxy module应该已去掉注释
2.不能再随意的使用相对路径,(页面css,js文件等)
因为此时路径不再相对于tomcat内部的路径,而是相对于 http://www.evcharge.cc
3.注意每次更改配置文件后重启apache # service httpd restart
1.2 附加:ProxyPassReverse
ProxyPass /tomcat http://www.evcharge.cc:8080 (http://xx.com:8080/ 这里最后加/或者不加/ 我试过header都一样)
ProxyPassReverse /tomcat http://www.evcharge.cc:8080
使用反向代理:
效果同上,一样需要注意相对路径改变的问题
Apache 反向代理只做 HTTP 透明转发,因此,Tomcat 那边,如果使用 servelet API 获取 request url, server info,等等,都是 Tomcat 的
可以在页面内用base标签指定相对路径的基准url:
<head>
<base href="http://www.w3school.com.cn/i/" />
</head>
base解释:
http://www.w3school.com.cn/html5/html5_base.asp
http://www.w3school.com.cn/tags/tag_base.asp
2.通过ajp
2.1 编辑/etc/httpd/conf/httpd.conf在最后追加
ProxyPass /tomcat ajp://www.evcharge.cc:8009/
note:
1.同样注意相对路径的改变,其它同上
2.tomcat的(/etc/tomcat/server.xml)ajp 要启用,且端口号同这里配置的如:8009.
2.2 附加:ProxyPassReverse
ProxyPass /tomcat http://www.evcharge.cc:8080/
ProxyPassReverse /tomcat http://www.evcharge.cc:8080/
效果同上,一样会改变原本的相对路径(有人说ProxyPassReverse不支持ajp协议,待议(我没发现问题))
3.负载均衡
通过一个页面来监控集群运行的状态,并做一些简单的维护设置
http://localhost:8080/balancer-manager/?b=example&s=http&w=server1
ProxyPass / balancer://example/
<Proxy balancer://example/>
BalancerMember http://server1:8080/
BalancerMember http://server2:8080/
BalancerMember http://server3:8080/
</Proxy>
同上:也可以使用ajp 代理:
ProxyPass / balancer://example/
<Proxy balancer://example/>
BalancerMember ajp://server1:8009/
BalancerMember ajp://server2:8089/
BalancerMember ajp://server3:8099/
</Proxy>
(尝试失败.)
ProxyPass /special-area http://special.example.com/ smax=5 max=10
ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On
<Proxy balancer://mycluster>
BalancerMember http://1.2.3.4:8009
BalancerMember http://1.2.3.5:8009 smax=10
# Less powerful server, don't send as many requests there
BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20
</Proxy>
(注意代理负载均衡 在apache2.2之后才支持)
相关参数参考:
http://shiningray.cn/proxypass-directive-in-apache.html
http://blog.sina.com.cn/s/blog_4cb531010100pkrp.html
http://tototo163.blog.163.com/blog/static/51555072012114111734967/
集群参考:
http://www.cnblogs.com/atyou/archive/2013/05/24/3097078.html
注意ProxyPass /aa bburl
bburl的地址的灵活性,我们可以用 公网ip, 可以用配置解析好的域名,
可以用127.0.0.1/localhost,也可以用内网ip如: 10.1.1.16
比如阿里云的服务器集群,内网流量之间的转发是不收费的,公网流量则收费
ProxyPass 命令:
使用 ! 匹配不使用代理的目录
ProxyPass /tom/images !
ProxyPass /tom/css !
ProxyPass /tom/js !
ProxyPass /tom http://localhost:8080/
ProxyPassReverse 指令
说明: 调整由反向代理服务器发送的HTTP回应头中的URL
例子:
ProxyPass a.com/aa b.com/bb.php // 访问a.com/aa时后台转发到b.com/bb.php处理
此时b.com/bb.php 中有一个重定向到b.com/cc.php
不使用reverse
则访问a.com/aa时后台转发到b.com/bb.php,重定向到cc.php时,http header里显示cc.php的host为b.com/cc.php
使用reverse
ProxyPassRevers a.com/aa b.com/bb.php
则访问a.com/aa时后台转发到b.com/bb.php,重定向到cc.php时,http header里显示cc.php的host为a.com/aa/cc.php
(额,测试没发现)
4.jk
参考:
http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/
http://www.ntu.edu.sg/home/ehchua/programming/howto/ApachePlusTomcat_HowTo.html
5.使用URL rewrite,也就是对于指定格式的 URL,转发给某个 Tomcat 的网址。
这里所说的指定格式,是指 Apache 所使用的正则表达式,
通俗地将,是一种类似 * 的一种比较高级通配符。这种方法不需要下在额外的文件,只需要配置 Apache
参考:
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
http://blog.csdn.net/xxfigo/article/details/11180673
http://stackoverflow.com/questions/13550121/apache-tomcat-proxypass-and-proxypassreverse
1.
/etc/httpd/conf/httpd.conf 启用 proxy_modules 去掉前面的 # 号注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so apache配置虚拟主机指定 proxy pass
<VirtualHost *:>
DocumentRoot "/var/lib/tomcat/webapps/ROOT"
ServerName java.evcharge.cc
ProxyRequests On
proxypass / ajp://localhost:8009/
<Directory "/var/lib/tomcat/webapps/ROOT">
Allow from all
Require all granted
</Directory>
</VirtualHost> /usr/share/tomcat下 /conf/server.xml
启用ajp (不要注释此行)
<Connector port="" protocol="AJP/1.3" redirectPort="" /> 强制反向代理可以:
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
参考:
http://www.open-open.com/lib/view/open1350702594664.html
http://blog.csdn.net/daleiwang/article/details/29611779
2.(现在做负载均衡自apache后起已经可以用自带集成的)
http://www.cnblogs.com/atyou/archive/2013/05/24/3097078.html
http://www.cnblogs.com/itech/archive/2009/08/18/1548723.html
centos nodejs 环境
1.确认是否有nodejs编译及依赖相关软件
查看 rpm -qa | grep gcc ...
没有则安装: yum -y install gcc gcc-c++ openssl-devel
2.下载并安装文件,加入系统变量
2.1 下载安装加入系统变量 参考:http://zhaohe162.blog.163.com/blog/static/38216797201402234212981/
2.2 通过包管理器安装
1. 安装脚本
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
2.安装文件
yum install -y nodejs
yum install -y npm //似乎是可选的 已集成npm
node ports相关文件
/usr/ports/www/node
centos 搭建web平台的更多相关文章
- 阿里云服务器连接以及centos 搭建 web java环境(linux java部署 tomcat部署)
版权声明:本文为博主原创文章,未经博主允许不得转载. 最近弄了个试用阿里云服务器倒腾了半天终于部署好,分享一下. 1.登入阿里云打开你申请的是云服务器的实例: 点击重置密码---重置密码后重启服务器才 ...
- (10)centos搭建web服务器 (Nginx+ django)
安装 python3 sudo yum install python34 安装uWSGI pip install uwsgi 安装 Nginx http://nginx.org/en/download ...
- 腾讯云Centos搭建web运行环境
需要上传或者下载,需要使用rz和sz命令.如果linux上没有这两个命令工具,则需要先安装.可以使用yum安装.运行命令yum install lrzsz. rz是上传,sz是下载. 在win上下载好 ...
- 其他综合-CentOS 7 使用二进制包搭建lnmp平台
CentOS 7 使用二进制包搭建lnmp平台 1.实验描述 通过二进制搭建 lnmp 平台,实现 web 环境基本部署 2.实验环境 虚拟机: 系统:CenOS 7.6 内存:2 G+ 数量:1台 ...
- CentOS下Web服务器环境搭建LNMP一键安装包
CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...
- CentOS 6.2下搭建Web服务器
1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...
- CentOS 6.3下搭建Web服务器
准备前的工作: 1.修改selinux配置文件(/etc/sysconfig/selinux) 关闭防火墙 (1)把SELINUX=enforcing注释掉 (2)并添加SELINUX=disable ...
- 30分钟快速搭建Web CRUD的管理平台--django神奇魔法
加上你的准备的时间,估计30分钟完全够用了,因为最近在做爬虫管理平台,想着快速开发,没想到python web平台下有这么非常方便的框架,简洁而优雅.将自己的一些坑总结出来,方便给大家的使用. 准备环 ...
- 搭建web定时任务管理平台
需要安装mysql及gityum -y install git mysql-server 下载安装go官网:https://golang.org/dl/wget https://redirector. ...
随机推荐
- php 操作 mysql 实现批量执行mysql语句 mysql文件
<?php /** * 批量运行sql文件 * 正则分隔是重点 preg_split("/;[\r\n]+/", filecontent) */ $config = requ ...
- JDK学习---深入理解java中的LinkedList
本文参考资料: 1.<大话数据结构> 2.http://blog.csdn.net/jzhf2012/article/details/8540543 3.http://blog.csdn. ...
- scrapy之分布式
分布式爬虫 概念:多台机器上可以执行同一个爬虫程序,实现网站数据的分布爬取. 原生的scrapy是不可以实现分布式爬虫? a) 调度器无法共享 b) 管道无法共享 工具 scrapy-redis组件: ...
- Nginx安装,目录结构与配置文件详解
1.Nginx简介 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设 ...
- Spark 源码阅读——任务提交过程
当我们在使用spark编写mr作业是,最后都要涉及到调用reduce,foreach或者是count这类action来触发作业的提交,所以,当我们查看这些方法的源码时,发现底层都调用了SparkCon ...
- 《Cracking the Coding Interview》——第17章:普通题——题目7
2014-04-28 23:28 题目:给定一个数字,用英语把它读出来. 解法:ZOJ上有相反的题目.如果我要用中文读书来呢? 代码: // 17.7 Read an integer in Engli ...
- 《Cracking the Coding Interview》——第17章:普通题——题目2
2014-04-28 22:05 题目:写个程序判断三连棋哪一方赢了. 解法:三个相同的棋子连成一条横线,竖线或者对角线就判断为赢了. 代码: // 17.2 Write an algorithm t ...
- Mysql忘记root密码怎么办?(已解决)
为了写这篇文档,假装一下忘记密码!!!! 首先我数据库是正常的,可以使用. root@localhost:~# mysql -uroot -p mysql> mysql> show dat ...
- 最小化安装Linux的常用配置整理
基于安全性考虑,将服务器进行最小化安装,毕竟软件包越少,漏洞越少,相对来说就约安全,但是最小化安装会给运维带来一些问题和不便,下面是我总结的,常见的一些配置和工具的安装,仅供各位大神参考,如有新的id ...
- 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘
孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...