RH WEB 全能服务器

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
一,Apache(httpd)的安装
1.rpm (redhat自带的安装)
   2.重新编译源代码安装
1,RPM包的安装:
[root@linuxhero root]# rpm -qa | grep httpd   查看是否已经安装此服务
httpd-manual-2.0.40-21
redhat-config-httpd-1.0.1-18
httpd-devel-2.0.40-21
httpd-2.0.40-21
2,重新编译Apache源代码安装
#rpm –e httpd –-nodeps   卸载原用的Apache用户 
#tar -zxvf httpd-2.0.54.tar.gz 解压
#cd httpd-2.0.54
# ./configure --prefix=/usr/local/httpd --enable-modules=so --enable-so
注:--prefix参数用来指定安装后存放的路径,--enable-modules用来指定系统允许使用的功能扩展的类型,这里指定为so类型,--enable-so用来指定允许DSO(动态共享对像)
#echo $?
显示为:0,表示编译过程中没有错误,显示其它都有错  这一步后面的编译过程都会用到,如果在这出错了,就不要MAKE了。得查找原因。


#make 
#make install
#cd /usr/local/httpd/bin/
#./httpd –k start
配置目录在 vi /usr/local/httpd/conf/httpd.conf 
#echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.d/rc.local(系统启动时服务自动启动)


注:这一步都不会出错。

二,mysql的安装

# tar zxvf mysql-4.0.14.tar.gz –C             /setup
# cd /setup/mysql-4.0.14
# groupadd mysql
# useradd mysql -g mysql -M -s /bin/false
#./configure --prefix=/usr/local/mysql/ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler    
#echo $?        
# make
# make install              
# scripts/mysql_install_db           生成mysql用户数据库和表文件
# cp support-files/my-medium.cnf /etc/my.cnf        \copy配置文件,有large,medium,small三个环境下的,根据机器性能                             选择,如果负荷比较大,可修改里面的一些变量的内存使用值
# cp support-files/mysql.server /etc/init.d/mysqld         \copy启动的mysqld文件
# chmod 700 /etc/init.d/mysqld
# cd /usr/local
# chmod 750 mysql -R
# chgrp mysql mysql -R
# chown mysql mysql/var -R
# cd /usr/local/mysql/libexec
# cp mysqld mysqld.old
# strip mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# service mysqld start
# netstat -atln
看看有没有3306的端口打开,如果mysqld不能启动,看看/usr/local/mysql/var下的出错日志,一般都是目录权限没有设置好的问题
# ln -s /usr/local/mysql/bin/mysql /sbin/mysql
# ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
# mysqladmin -uroot password "youpassword" #设置root帐户的密码
# mysql -uroot -p
# 输入你设置的密码
mysql>;use mysql;
mysql>;delete from user where password=""; #删除用于本机匿名连接的空密码帐号
mysql>;flush privileges;
mysql>;quit

错误:
看到:
[1] 5134
[root@shunzi mysql]# Starting mysqld daemon with databases from /usr/local/mysql/data
STOPPING server from pid file /usr/local/mysql/data/shunzi.pid
030102 21:00:46 mysqld ended
提示启动失败了,这是由于权限的问题,执行下列命令:
chown -R root /usr/local/mysql 
chgrp -R mysql /usr/local/mysql 
执行:
[root@shunzi mysql]# bin/mysqld_safe --user=root &
可以看到类似的内容:
[1] 5846
5846 pts/1 S 0:00 /bin/sh bin/mysqld_safe --user=root
5864 pts/1 S 0:00 /usr/local/mysql/bin/mysqld --defaults-extra-file=/usr/local/mysql/data/my.cnf --ba
这说明mysql服务已经启动了。mysql服务器安装成功了。如还不行,就再检查mysql文件的权限。
总之MYSQL的错误问题都出在权限上。细心点就没事。

三,编译安装PHP

1,freeTDS(解决PHP与MSSQL连接的问题)花板 
 
当然你也要查看一下系统是不是已经安装了相关节软件包。
rpm -qa |grep php

2,编译安装PHP并支持GD
具体安装如下:
1.   freeTDS的安装
#tar –zxvf freetds-stable.tgz
#cd freetds-0.63
#./configure --prefix=/usr/local/freetds --with-tdsver=8.0
  注:--with-tdsver指定的freetds支持的数据库版本号,其中8.0对应的是sqlservr2000.
#make
#make install
#vi /etc/ld.so.conf 设置系统动态库配置文件,加入以下:
/usr/local/freetds/lib
保存退出。
#ldconfig 重新加载动态库列表ld.so.conf

1。安装PHP
安装 jpeg6
建立目录
# mkdir /usr/local/jpeg6  
# mkdir /usr/local/jpeg6/bin  
# mkdir /usr/local/jpeg6/lib  
# mkdir /usr/local/jpeg6/include  
# mkdir /usr/local/jpeg6/man  
# mkdir /usr/local/jpeg6/man/man1 
# cd /root/soft 
# tar -zxf jpegsrc.v6b.tar.gz 
# cd jpeg-6b 
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static 
#echo $? 
# make; make install


安装libpng
# cd /root/soft 
# tar -zxf libpng-1.2.8.tar.gz 
# cd libpng-1.2.8 
# cp scripts/makefile.std makefile  
# make; make install


安装 freetype
# cd /root/soft 
# tar -zxf freetype-2.1.10.tar.gz  
# cd freetype-2.1.10 
# ./configure --prefix=/usr/local/freetype 
#echo $? 
# make;make install 

安装最新的GD库
# cd /root/soft 
# tar -zxf gd-2.0.33.tar.gz  
# cd gd-2.0.33 
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/ 
#echo $? 
# make; make install


安装最新的Curl库
# cd /root/soft 
# tar -zxf curl-7.15.0.tar.gz 
# ./configure --prefix=/usr/local/curl 
#echo $? 
# make; make install


安装PHP

由于php5需libxml2的支持, 所以先安装libxml2
# cd /root/soft 
# tar -zxf libxml2-2.6.19.tar.gz 
# cd libxml2-2.6.19 
# ./configure --prefix=/usr/local/libxml2 
#echo $? 
# make; make install


安装 libxslt
# cd /root/soft 
# tar -zxf libxslt-1.1.15.tar.gz 
# cd libxslt-1.1.15 
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 
#echo $? 
# make; make install


 tar -zxf php-5.0.5.tar.gz 
# cd php-5.05
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2 --with-curl=/usr/local/curl --enable-ftp --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype  
#echo $? 
# make 
# make install 

其中./configure 后的 
--prefix=/usr/local/php 
--with-apxs2=/usr/local/httpd/bin/apxs 
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
是必要的选项

--with-gd=/usr/local/gd2/ 
--with-jpeg-dir=/usr/local/jpeg6/ 
--with-png 
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
这是让PHP支持GD库的配置选项

--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持

--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
让PHP支持SOAP, 上面这些一般用得少, 可以去掉

如果在MAKE的时候出错,那么就是你以上相关的软件没有安装好,这是最全的,出错的方法都是没有装相应的软件包,你可以查看一下。

#cp php.ini-dist /usr/local/lib/php.ini
#vi /usr/local/lib/php.ini
将register_globals = Off改为register_globals = On
#vi /usr/local/httpd/conf/httpd.conf 些模块简单的修改
将Listen 80 改为: Listen 192.168.0.230:80
在配置文件中添加如下:
AddType application/x-httpd-php .php .php3 .php4 .php5
#AddHandler cgi-script .cgi,去掉#打开CGI脚本服务
#/usr/local/httpd/bin/apachectl restart 重启一下apahce服务
apache服务器的PHP配置完成。
设置启动文件:
#vi /etc/rc.d/rc.local
增加一行:
/usr/local/httpd/bin/apachectl start
配置重新导入
/etc/rc.d/init.d/xinetd restart
测试PHP
进入Apache默认主目录/usr/local/httpd/htdocs,在该目录下建一个phpinfo.php文件
#vi phpinfo.php 写入以一内容
<?phpinfo();?>
[url]http://IP[/url]地址/phpinfo.php 就可以看到相关的服务信息啦。
 
报这个.错误信息...................
checking for mcrypt support... no 
checking for mhash support... no 
checking whether to include mime_magic support... no 
checking for MING support... no 
checking for mSQL support... no 
checking for MSSQL support via FreeTDS... no 
checking for MySQL support... yes 
checking for specified location of the MySQL UNIX socket... /tmp/mysql.sock 
checking for MySQL UNIX socket location... /tmp/mysql.sock 
checking for mysql_close in -lmysqlclient... no 
checking for mysql_error in -lmysqlclient... no 
configure: error: mysql configure failed. Please check config.log for more information.

解决方法:
如果是自己选择GZ包安装的MYSQL。这里要加路径。
加的方法为--with-mysql-dir=/user/local/mysql
切记不可写为:--with-mysql=/user/local/mysql
 



2。安装PHPMYADMIN
ex:/usr/local/apache/htdocs/    (这是我网页存放的位置)
a. # mv phpMyAdmin_2.0.5.tar.gz /usr/local/apache/htdocs/ 移到httpd的根目录
b. # tar zxvf phpMyAdmin_2.0.5.tar.gz   解压缩phpMyAdmin_2.0.5.tar.gz
c. 路径 /usr/local/apache/htdocs/phpMyAdmin
d. 修改设定档
# vi config.inc.php3
找到下面的部分
  cfgServers[1][host]=localhost; //MySQLhostnamecfgServers[1]['port'] = '';       // MySQL 的port 空白表示预设3306 
cfgServers[1][advauth]=true;   //cfgServers[1]['stduser'] = 'root';  // MySQL的管理者 
$cfgServers[1]['stdpass'] = '123456';  // MySQL管理者的密码 
//我采用root为管理者,密码为123456 你可以采用自己喜欢的

4.测试
开启浏览器,输入http://的网址/phpMyAdmin/...
 
四,JDK的安装
1,JDK的安装
   2,Tomcat的安装
   3.JDBC(JSP与,MSYQL,MSSQL连接)
   4,JK2(是APACHE组织指定的连接apceh和tomcat的工具)
   5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具)
具体操作如下:
1.  JDK的安装
[root@linuxhero root]# ls
j2sdk-1_4_2_08-linux-i586.bin   j2sdk-1_4_2_08-linux-i586-rpm.bin
有两个包.
j2sdk-1_4_2_08-linux-i586-rpm.bin的安装方法
#chmod 755 j2sdk-1_4_2_08-linux-i586-rpm.bin
#./j2sdk-1_4_2_08-linux-i586-rpm.bin (运行JDK自解包)
运行过程中会出现一个用户协议,选择yes即可,会释放出一个rpm包j2sdk-1_4_2_08-linux-i586.rpm.
#rpm –Uvh j2sdk-1_4_2_08-linux-i586.rpm
完成后会在/usr/目录下生成一个/usr/java/j2sdk1.4.2_08目录文件
另一个软件包运行后会直接释放成j2sdk1.4.2_08目录移动合适的位置,如/usr/local/
#chmod 755 j2sdk-1_4_2_08-linux-i586.bin
#./j2sdk-1_4_2_08-linux-i586.bin
# mv j2sdk1.4.2_08 /usr/local/
到此JDK已经安装完成
到/usr/bin目录下,把原用的java,javac文件删除:
#rm -rf java 
#rm –rf javac
在/usr/bin 下建立 软连接 java
# ln -s /usr/local/j2sdk1.4.2_08/bin/java /usr/bin/java
# ln -s /usr/local/j2sdk1.4.2_08/bin/javac /usr/bin/javac
# java –version
# javac -version
java version "1.4.2_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)


为了方便下在的工作建立两个软链接:
ln -s /usr/local/j2sdk1.4.2_08  /usr/local/jdk
ln -s /usr/local/j2sdk1.4.2_08/jre /usr/local/jre

2.Tomcat的安装
#tar -zxvf jakarta-tomcat-5.0.28.tar.gz
# mv jakarta-tomcat-5.0.28 /usr/local/tomcat
设置环境变量:
#Set  Environment  by NetSeek 
JAVA_HOME=/usr/local/jdk 
export JAVA_HOME 
JRE_HOME=/usr/local/jre 
export JRE_HOME 
CLASSPATH=/usr=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib 
export CLASSPATH 
PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bin:/usr/local/jre/bin 
export PATH 
TOMCAT_HOME=/usr/local/tomcat 
export TOMCAT_HOME

启动tomcat以检查是否存在错误:
#cd /usr/local/tomcat/bin
#./startup.sh
[url]http://IP[/url]地址:8080 可以看到猫头:)成功了。

3.JDBC的安装
#tar -zxvf mysql-connector-java-3.2.0-alpha.tar.gz
#cd mysql-connector-java-3.2.0-alpha
#cp mysql-connector-java-3.2.0-alpha-bin.jar /usr/local/tomcat/common/lib
#tar xfv mssqlserver.tar
#tar xfv msjdbc.tar
#cd lib
# cp *.jar /usr/local/tomcat/common/lib

4.编译安装JK2(整合Tomcat与Apache)
# tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz 
# cd jjakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/ 
#./configure --with-apxs2=/usr/local/httpd/bin/apxs \ 
--with-java-home=/usr/local/jdk \ 
--with-tomcat41=/usr/local/tomcat \ 
--with-apr-lib=/usr/local/httpd/lib   
#echo $?
报错:
no apxs given
need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
configure: error: can't locate libapr 
解决办法:
安装:apr-1.1.1.tar.gz
apr-util-1.1.1.tar.gz
libtool-1.5.22.tar
解压缩安装libapr 
# chmod +x * 
# tar xfz apr-1.1.1.tar.gz 
# cd apr-1.1.1
# ./configure 
# make 
# make install 
回到......./tomcat目录 
#cd .. 
解压缩安装libaprutil 
# tar xfz apr-util-1.1.1.tar.gz 
# cd apr-util-1.1.1 
# ./configure --with-apr=../apr-1.1.1 
# make 
# make install 
建立libapr和libaprutil 的软连接到/usr/local/httpd2/lib/目录下 
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so  
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so.0  
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so  
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so.0 

再次编译jakarta-tomcat 
如果make通不过,/path/to/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2目录下并无mod_jk2.so产生,则需安装新版libtool. 
# libtool --version 
ltmain.sh (GNU libtool) 1.4.3 (1.922.2.111 2002/10/23 02:54:36) 
[root@linux native2]# 
这个版本的libtool编译最新的  
jakarta-tomcat-connectors-jk2-2.0.4-src  
是不会成功的。  
返回到....../tomcat 
安装libtool-1.5.22
# chmod +x * 
# tar xfz libtool-1.5.22.tar.gz 
# cd libtool-1.5.22 
# ./configure 
# make 
# make install 
删除原来的/usr/local/httpd2/build/libtool  
# rm –rf /usr/local/httpd2/build/libtool  
建立新的libtool 软连接 
# ln -s /usr/local/bin/libtool /usr/local/httpd2/build/libtool 
再次编译jakarta-tomcat 
现在就OK了 

./configure --with-apxs2=/usr/local/apache/bin/apxs --with-java-home=/opt/j2sdk1.4.2_10 --with-apr-lib=/usr/local/apache/lib
注:--with-tomcat41参数指定Tomcat主目录,编译器没有直接对最新的Tomcat提供特定的编译参数,所以使用tomcat41的参数代替,用—with-java-home参数指定Java的安装路径.
#make
将在/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache目录下,生成的mod_jk2.so复制到Apache的扩展模块目录/usr/local/httpd/modules下,
#cp mod_jk2.so /usr/local/httpd/modules
再将/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf目录下的workers2.properties复制到Apache的配置文件目录/usr/local/httpd/conf下:
#cp workers2.properties /usr/local/httpd/conf

再编辑httpd.conf
vi /usr/local/apache/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so

之前我的问题是:在已有的WEB服务器上重新安装一套,所以tomcat 老启不来,得KILL掉进程再启动就OK了。

错误: 
Syntax   error   on   line   1038   of   /etc/httpd/conf/httpd.conf:   
Invalid   virtual   host   name   
则修改httpd.conf文件,找到#ServerName所在的行,并在其下面加入如下内容即可   
ServerName   localhost:8008   #   制定服务器的名称和端口,注意端口是8008,而不是8080

检查$CATALINA_HOME/conf/server.xml文件中相关的配置,默认情况下的   
                相关的信息是被注释掉了,搜索8008,找到<Service   name="Tomcat-Apache">那段,把前面的"<!--"和</Service>后面的"-->"都删掉


5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具)
Apache和Tomcat安装后需要设置自动启动,如果让Tomcat用root身份启动,Tomcat将会拥用root权限,这将可能给系统带来安全隐患,黑客可能利用这个来攻击我们的系统,所以我们得添加一个独立运行此服务的用户:
#useradd -d /usr/local/tomcat -s /usr/sbin/nologin tomcat
#chown -R tomcat:tomcat /usr/local/tomcat
#cd /usr/local/tomcat/bin/
#tar zxvf jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh (只能在些目录里执行,在别处执行会出错)
     会显示support/buildconf.sh: configure script generated successfully
#chmod 755 configure
#./configure
#make
#cp native/Tomcat5.sh /usr/sbin/tomcat
#cd /usr/sbin
#chmod 755 tomcat
#vi tomcat
可以看到:
JAVA_HOME=/usr/java/j2sdk1.4.2_03   指定java安装的目录
CATALINA_HOME=/home/tomcat5/jakarta-tomcat-5/build  指定了tomat的安装目录
DAEMON_HOME=/home/tomcat5/jakarta-commons/daemon 指定了tomcat命令所在的目录
TOMCAT_USER=tomcat5    指定tomcat运行后使用的账号
将上面的配置修改如下:
JAVA_HOME=/usr/local/jdk
CATALINA_HOME=/usr/local/tomcat/
DAEMON_HOME=/usr/local/tomcat/bin/
TOMCAT_USER=tomcat
找到DAEMONHOME/src/native/unix/jsvc :DAEMON_HOME/jsvc-src/jsvc \
修改完保存退出
vi /etc/rc.d/rc.local
在里面添加如下设置:
/usr/sbin/tomcat start

然后重启所有服务!

五,企业虚拟主机配置实战方案
要求:
1,DNS的简设置
2,虚拟域名: [url]www.XXXXXX.com[/url],虚拟用户XXXXXX_com
3,允许FTP维护,禁止远程登陆(具体的FTP维护参照二)
4,为虚拟主机添加用户和使用目录

1,   DNS的简单设置,
在这里我们使用XXXXXX.com这个虚拟域名,实际域名首先要确定域名已经在域名提供商或DNS上设置正常,在这里我们简的的讲一下DNS服务器在RedHat9。0上的简单的配置,假定服务器使用192.168.0.230和192.168.0.231这两个IP
绑定多个IP:
在/etc/sysconfig/network-scripts,在该目录下新建一个ifcfg-etho0:0的文件内容如下:
DEVICE=eth0:0
IPADDR=192.168.0.231
NETMASK=255.255.255.0
ONBOOT=yes
#service network restart 重启一下网络服务就OK啦
DNS的简单配置
在这里关于DNS的详细介绍和配置我就不说啦,其实配置也不是难事,都是利用模板,关键是在配置的时候要细心,不要马虎,否则会现错,
1.基本配置文件::
/etc/named.conf
  /var/named/ 编写xxxx.com.zone
  /etc/resolv.conf
2.#vi /etc/named.conf
zone "xxxxx.com" IN {
        type master;
        file "xxxxx.com.zone";
        allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.0.local";
        allow-update { none; };
};
3.#vi /var/named/xxxxx.com.zone 编写一个xxxxx.com.zone文件
$TTL    86400
@                       1D IN SOA       @ root (
                                        20050505               
                                        3H               
                                        15M              
                                        1W               
                                        1D )             

                        1D IN NS        @
                        1D IN MX  10    mail.xxxxx.com
ns                      1D IN A         127.0.0.1
www                     1D IN A         192.168.0.20
firebird                1D IN A         192.168.0.20
mail                    1D IN A         192.168.0.20
pop3                    1D IN A         192.168.0.20
smtp                    1D IN A         192.168.0.20
ftp                     1D IN A         192.168.0.21

4.#vi /etc/resolv.conf 把DNS服务器设置成为本机
nameserver 192.168.0.230
5.重新启动加载DNS服务:
#/etc/init.d/named start
#chkconfig named on 让named守护进程在每次系统引导时启动
#/etc/init.d/named restart 重启DNS服务
#rndc reload 重新加载配置文件,这是在修改配置文件后,使配置文件生效。
测试DNS服务是否工作正常
#host  [url]www.xxxxxxx.com[/url]
#nslookup 192.168.0.230

二. 配置虚拟主机
1. 为虚拟主机添加用户和使用目录
#useradd xxxxxxx_com -s /sbin/nologin   添加虚拟用户,不允许登陆       
#passwd xxxxxx_com  (Do not Hack me 3ks) DnHm3ks 这是我设置的密码:)
#chmod 755 /home/xxxxxx_com
#cd /home/xxxxx_com
#mkdir sites               建立网站存放根目录
#chown xxxxxxx_com:xxxxxx_com sites    改变sites所属组为xxxxx_com
#mkdir logs                站点的日志目录
#chown xxxxxx_com:linuxhero_com logs
#mkdir cgi-bin             目录用来运行CGI程序
#chown xxxxx_com:xxxxxx_com cgi-bin
#mkdir sites/WEB-INF      用来存放Tomcat发布的程序
#chown xxxxx_com:xxxxx_com sites/WEB-INF
2.设置Apache的虚拟主机
#vi /usr/local/httpd/conf/httpd.conf
找到DirectoryIndex 在文件表中加上index.jsp,然后在文件尾添加虚拟主机配置信息:
NameVirtualHost 192.168.0.230:80
# [url]www.xxxxx.com[/url] 
<VirtualHost 192.168.0.230:80>
     ServerAdmin       [email]webmaster@xxxxx.com[/email]
     DocumentRoot     /home/xxxxx_com/sites
     ServerName        [url]www.xxxxx.com[/url]
     ServerAlias      linuxhero.com
     ErrorLog         /home/xxxxx_com/logs/error_log
     CustomLog        /home/xxxxx_com/logs/access_log common
     alias  /cgi-bin  /home/xxxxx_com/cgi-bin
     <Location /cgi-bin>
              Options ExecCGI
     </Location>
     <Location ~ "/*.jsp">
              JkUriSet worker ajp13:localhost:8009
     </Location>
     <Location ~ "/WEB-INF/*">
              JkUriSet worker ajp13:localhost:8009
     </Location>
     <Location ~ "servlet/*">
              JkUriSet worker ajp13:localhost:8009
     </Location>
</VirtualHost
1.   设置Tomcat的虚拟主机:
vi /usr/local/tomcat/conf/server.xml
在</Engine></Service></Server>上面加入如下:
------------------------------------------------------------------------------
<Host name="www.xxxxx.com" debug="0" appBase="/home/xxxxx_com/sites/"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Alias>xxxxx.com</Alias>
       <Context path="" docBase="." debug="0" reloadable="ture"/>  
       <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="xxxxx_com_log." 
                 suffix=".txt"
                 timestamp="true"/>
</Host>
</Engine>

  </Service>

</Server>
到此xxxxxxx_com这目录就可以同时支持PHP+JSP+mysql+mssql,啦,相当于LINUX下的WEB全能服务器.


本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/64038,如需转载请自行联系原作者
目录
打赏
0
0
0
0
69
分享
相关文章
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
115 3
|
6月前
|
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
79 3
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
397 0
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
70 0
JSF与JPA的史诗级联盟:如何编织数据持久化的华丽织锦,重塑Web应用的荣耀
【8月更文挑战第31天】JavaServer Faces (JSF) 和 Java Persistence API (JPA) 分别是构建Java Web应用的用户界面组件框架和持久化标准。结合使用JSF与JPA,能够打造强大的数据驱动Web应用。首先,通过定义实体类(如`User`)和配置`persistence.xml`来设置JPA环境。然后,在JSF中利用Managed Bean(如`UserBean`)管理业务逻辑,通过`EntityManager`执行数据持久化操作。
99 0
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
DeepSeek服务器繁忙解决方法:使用阿里云一键部署DeepSeek个人网站!
通过阿里云一键部署DeepSeek个人网站,解决服务器繁忙问题。学生用户可领取300元代金券实现0成本部署,普通用户则可用99元/年的服务器。教程涵盖从选择套餐、设置密码到获取百炼API-KEY的全流程,助您快速搭建专属大模型主页,体验DeepSeek、Qwen-max、Llama等多款模型,无需代码,最快5分钟完成部署。支持绑定个人域名,共享亲友使用,日均成本仅约1元。
113 10
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
本文介绍了如何通过阿里云获取ECS云服务器并进行操作系统配置与组件安装,以实现高效的资源管理和系统监控。阿里云凭借强大的基础设施和丰富的服务成为用户首选。文中详细描述了获取ECS、RAM授权、开通操作系统控制台及组件安装的步骤,并展示了如何利用控制台实时监控性能指标、诊断系统问题及优化性能。特别针对idle进程进行了深入分析,提出了优化建议。最后,建议定期进行系统健康检查,并希望阿里云能推出更友好的低成本套餐,满足学生等群体的需求。
123 17
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
玩转云服务器——阿里云操作系统控制台体验测评
在云服务器日益普及的背景下,运维人员对操作系统管理工具的要求不断提高。我们需要一款既能直观展示系统状态,又能智能诊断问题,提供专业指导的控制台。阿里云操作系统管理平台正是基于API、SDK、CLI等多种管理方式,致力于提升操作效率,为用户带来全新的系统运维体验。阿里云操作系统控制台凭借便捷易用的设计和高效的管理功能,成为云服务器运维的强力助手。本次测评基于真实体验截图,对其整体表现进行了深入探索。
114 33

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等