• centos 搭建web平台


    centos 查询是否安装apache
    rpm -qa httpd

    出现类似 httpd-2.2.15-47.el6.centos.4.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:

    1、验证是否安装成功
    现在打开http://ip地址
    
    2、安装目录介绍
    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 235 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.6.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
    总用量 4
    drwxr-xr-x. 2 root root   4096 10月 19 00:44 bin
    lrwxrwxrwx. 1 root tomcat   12 10月 19 00:44 conf ->/etc/tomcat6
    lrwxrwxrwx. 1 root root     23 10月 19 00:44 lib ->/usr/share/java/tomcat6
    lrwxrwxrwx. 1 root root     16 10月 19 00:44 logs ->/var/log/tomcat6
    lrwxrwxrwx. 1 root root     23 10月 19 00:44 temp ->/var/cache/tomcat6/temp
    lrwxrwxrwx. 1 root root     24 10月 19 00:44 webapps ->/var/lib/tomcat6/webapps
    lrwxrwxrwx. 1 root root     23 10月 19 00:44 work ->/var/cache/tomcat6/work
    
     修改端口8080为80:
    需80端口未被占用,可以使用netstat -nat查看80端口是否在使用。
    a)修改vi /etc/tomcat6/server.xml文件的如下字段中的8080为80
    
    <Connector port="8080" protocol="HTTP/1.1"
    
                   connectionTimeout="20000"
    
                   redirectPort="8443" />
    b)由于在Centos6中,系统不允许tomcat用户使用1024以下的端口,因此还需修改vi /etc/tomcat6/tomcat6.conf
    找到CONNECTOR_PORT="8080"并注释掉,新增如下两行:
    TOMCAT_USER="root"
    CONNECTOR_PORT="80"
    注:这样做的安全性有待验证
     
    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 *:80>
           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="8009" protocol="AJP/1.3" redirectPort="8443" />




    强制反向代理可以:

    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

  • 相关阅读:
    java实现第七届蓝桥杯阶乘位数
    java实现第七届蓝桥杯圆圈舞
    java实现第七届蓝桥杯圆圈舞
    java实现第七届蓝桥杯圆圈舞
    java实现第七届蓝桥杯圆圈舞
    java实现第七届蓝桥杯圆圈舞
    java实现第七届蓝桥杯打靶
    java实现第七届蓝桥杯打靶
    Mysql 查询一天中,每个小时数据的数量
    mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
  • 原文地址:https://www.cnblogs.com/isdom/p/webclips051.html
Copyright © 2020-2023  润新知