十一 16

在不同平台或不同环境开发或使用过程中很经常遇到因为这样那样的原因而引起出现难看的中文乱码的情况  这里就本人曾经遇到过出现中文乱码的问题整理些关于这种问题的解决方法  备录下以便有需要之人方便使用解决。。。

1、Flash方框乱码
如果有乱码那是因为49-sansserif.conf字体配置文件引起的,把它删除后就正常了。
即sudo rm /etc/fonts/conf.d/49-sansserif.conf
注:在删除之前要进行备份,命令为sudo cp /etc/fonts/conf.d/49-sansserif.conf
/etc/fonts/conf.d/49-sansserif.conf.bak
做完就OK了。

2、Linux下安装NetBeans中文版出现乱码
在Linux操作系统中安装netbeans中文版出现了乱码,显示为一些方框。
解决方法是把/usr/share/fonts/truetype/arphic/下的字体复制到JAVA_HOME/jre/lib/fonts/fallback下面。其中JAVA_HOME是jdk安装的路径,请自己调整。
此次用的系统是Ubuntu,如果路径有变请自己调整,OK。

3、windows下使用Putty远程链接Linux系统出现乱码
如果你在Windows下用putty来远程连接Linux发现乱码请用下面的方法解决:
找到/etc/sysconfig/i18n,把“LANG=”zh_CN.UTF-8″”改为“LANG=”zh_CN.GB18030″”,也就是开头第一句。

4、Linux下Mysql出现中文出现乱码

mysql 安装的默认字符集是 latin1,而 ubuntu os 的字符集是 utf-8 ,因此我们需要将 mysql 的默认字符集改成 utf-8。
修改 /ect/mysql/my.cnf   即 sudo gedit /ect/mysql/my.cnf
找到代码
[client]
和代码
[mysqld]
分别在其下方加入如下代码后保存,这是为了解决mysql中文乱码问题。
代码:
default-character-set=utf8
PS:原先建立的数据库还是会出现乱码, 最简单的解决办法 把他删掉再重现建一下
测试:
在 mysql 的终端下执行如下命令 :
show variables like ‘character%’;

可以看到 字符集已经是 utf-8 了。

5、Linux下gftp出现中文乱码解决措施

第一让系统支持GBK,执行sudo locale-gen zh_CN.GBK
然后执行sudo gedit /usr/bin/gftp
加入export LANG=zh_CN.GBK
保存这个文件。

待补充更新ing。。。。

written by Yousri \\ tags:

28

软件版本:

Apache_2.2.9-win32-x86-no_ssl-r2.msi

Php-5.2.6-Win32.zip

Mysql-5.1.26-rc-win32.zip

安装目录:

D:/xmlinux/webapp

PHP配置:

1)将D:”xmlinuxer”webapp”php5″目录下的libmysql.dllphp5ts.dll两个文件复制到C:”WINDOWS”system32″下;

2)将D:”xmlinuxer”webapp”php5″ext”目录下的php_gb2.dllphp_mysql.dll php_mbstring.dll复制到C:”WINDOWS”system32″下;

3)将D:”xmlinuxer”webapp”php5″中的php.ini-destphp.ini-recommended重命名为php.ini复制到C:”WINDOWS”system32″下;

4)改配置文件php.ini,具体包括:

i.extension_dir=”/”改为 extension_dir=”F:/ProgramFiles/PHP5.2/ext”;

ii.去掉下面三个表达式前面的“;”,改后如下:

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

iii.;date.timezone = 修改为 date.timezone = PRC

Apache配置httpd.conf文件

加入支持php5mysql的代码:

LoadFile D:/xmlinuxer/webapp/php5/libmysql.dll

LoadModule php5_module D:/xmlinuxer/webapp/php5/php5apache2_2.dll

PHPIniDir “D:/xmlinuxer/webapp/php5″

AddType application/x-httpd-php .php

整合Apache Tomcat

方案一:mod_jk模块实现

适用于较低版本,在Apache2.2.*以后的的版本上无法成功实现ApacheTomcat的整合,即使编译模块通过了的话(网上很多文档都是用这种方法的资料,而且都大同小异,我试过了。。。可以模块可以编译通过,但是其实根本实现不了,因为现在mod_jk模块最高版本只支持到Httpd-2.2.4版本的而已,所以对于Apache版本高一点就的话就根本没有mod_jk与之对应的模块实现)所以对此方案测试并不能成功实现。

方案二:mod_proxy代理模块实现

Apache2.2.*以上版本本身已经支持Tomcat了,所以这里用mod_proxy来整合Tomcat打开httpd.conf文件,把

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

前面的#去掉, 并在文件最后添加

ProxyPass / ajp://127.0.0.1:8009/

ProxyPassReverse / ajp://127.0.0.1:8009/

这样做的话就相当于Apache把所有80端口的请求都转发给了Tomcat8009ProxyPass /  ajp://127.0.0.1:8009/ ProxyPassReverse  /  ajp://127.0.0.1:8009/),都由Tomcat处理请求,这时的Apache只相当于一个转发器的作用,由Tomcat解析。此时要是关闭Tomcat服务,再访问还会出现503 Service Temporarily Unavailable 错误!

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

但是我们想实现的是将请求中静态的页面交给Apache处理,动态请求交给Aomcat处理。因为他们在各自的处理效率上比较高,这才是整合ApacheTomcat的真正目的作用。

这里要实现将html交给Apache处理,而把jsp转发给Tomcat处理。还需要多刚刚修改的httpd.conf进行完善,排除掉Tomcat对静态文件的解析过滤。

即在刚刚的 ProxyPass /  ajp://127.0.0.1:8009 前面加入一行

ProxyPass /web/ !

插入这行配置的意思是表示/web/下的文件的请求不转发到Tomcat进行解析直接由Apache解析。此时只要把不想转发到Tomcat处理的放在Apache安装目录下\htdoc\ 下名为web文件夹里即可。

附录:

Mod-proxy的缺点是,当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错误。但是只要服务器再启动就不存在这个问题。如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。

Mod-proxy优点是.可以只将Apache置于公网,节省公网IP地址资源。可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理JSPservlet等动态请求。

参考资料:IBM Developer Works中关于Apache HTTP Server Tomcat 的三种连接方式介绍的描述

written by Yousri \\ tags: , , , ,

06

之前在ubuntu8.04架构LAMP环境的时候都是用包装好的直接新立得进行一步安装搞定。就只有最初刚接触Linux的时候在RedHat下尝试使 用源码手动编译配置安装,但是当初编译了一个晚上最终还是以失败告终就是,对于里头提示缺少类库等问题很是陌生,虽然网上资料很多,但是操作起来每个人有 每个人不同的问题会出现,个人觉得有时问题还是更重要需要自己去一个个的处理掉,这样印象更深刻些,也是唯一措施可以处理好自己所遇到的问题的。

步入正题:

一、mysql安装配置

root@xmlinuxer-server:/media/WinF/LAMP#groupadd mysql
root@xmlinuxer-server:/media/WinF/LAMP#useradd -g mysql mysql
root@xmlinuxer-server:/media/WinF/LAMP#tar -zxvf mysql-5.0.33.tar.gz
root@xmlinuxer-server:/media/WinF/LAMP#cd mysql-5.0.33
root@xmlinuxer-server:/media/WinF/LAMP/mysql-5.0.33#./configure --prefix=/opt/app/mysql5 --without-debug --without-bench --with-charset=utf8 --with-extra-charsets=all --with-plugins=fthightman --enable-thread-safe-client

如果出现了以下错误:

checking for tgetent in -ltermcap... no

checking for termcap functions library… configure: error: No curses/termcap library found

说明 curses/termcap 库没有安装
apt-cache search curses | grep lib
安装 libncurses5-dev ,然后重新运行配置
apt-get install libncurses5-dev

或者方法二

去下载一个ncurses-5.6.tar.gz,
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure –prefix=/usr –with-shared –without-debug
make
make install clean

然后再重新编译Mysql进行安装。

root@xmlinuxer-server:/media/WinF/LAMP/mysql-5.0.33#make
root@xmlinuxer-server:/media/WinF/LAMP/mysql-5.0.33#make install
root@xmlinuxer-server:/media/WinF/LAMP/mysql-5.0.33#cp support-files/my-medium.cnf /etc/my.cnf //复制数据库mysql的配置文件
root@xmlinuxer-server:/media/WinF/LAMP/mysql-5.0.33#cp support-files/mysql.server /etc/init.d/mysql

Ubuntu 系统下貌似没有/etc/rc.d这目录 嗯 其他的Linux系统可能是/etc/rc.d/init.d/mysql

root@xmlinuxer-server:/media/WinF/LAMP/mysql-5.0.33#cd /opt/app/mysql5
root@xmlinuxer-server:/opt/app/mysql5#bin/mysql_install_db --user=mysql
root@xmlinuxer-server:/opt/app/mysql5#chown -R root . //不要少了后面那个“.”咯
root@xmlinuxer-server:/opt/app/mysql5#chown -R mysql var
root@xmlinuxer-server:/opt/app/mysql5#chgrp -R mysql .

root@xmlinuxer-server:/opt/app/mysql5/share/mysql# service mysql start
程序 ’service’ 已包含在以下软件包中:
* debian-helper-scripts
* sysvconfig
试试:apt-get install
bash: service:找不到命令

解决措施:安装下这两个软件包就ok啦 #apt-get install sysvconfig debian-helper-scripts

root@xmlinuxer-server:/opt/app/mysql5#bin/mysqld_safe --user=mysql & 或者 service mysql start 启动数据库
root@xmlinuxer-server#/opt/app/mysql5/share/mysql/mysql.server stop 或者 service mysql stop 停止数据库

二、安装apache完整配置

root@xmlinuxer-server:/media/WinF/LAMP#tar -zxvf httpd-2.2.4.tar.gz //解压包
root@xmlinuxer-server:/media/WinF/LAMP#cd httpd-2.2.4
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4#./configure --prefix=/opt/app/apache2 --enable-so --with-mysql=/opt/app/mysql5 --enable-cgi --with-config-file-path=/opt/app/apache2/conf --enable-track-vars --enable-mods-shared=all --enable-cache --enable-disk-cache --enable-mem-cache --enable-rewrite --with-mpm=worker --with-z-dir=/opt/app/zlib //配置编译参数

这里涉及到关于zlib的安装,下载zlib-1.2.3.tar.gz包编译安装下zlib于/opt/app/zlib下
具体如下:
root@xmlinuxer-server:/media/WinF/LAMP#tar -zxvf zlib-1.2.3.tar.gz
root@xmlinuxer-server:/media/WinF/LAMP#cd zlib-1.2.3
root@xmlinuxer-server:/media/WinF/LAMP/zlib-1.2.3#./configure --prefix=/opt/app/zlib
root@xmlinuxer-server:/media/WinF/LAMP/zlib-1.2.3#make
root@xmlinuxer-server:/media/WinF/LAMP/zlib-1.2.3#make install

然后继续编译安装apache环境

root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4#make
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4#make install
root@xmlinuxer-server:/opt/app/apache2# bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

因为在httpd的配置文件里面没有制定主机名,所以才会出现这个提示
用浏览器访问一下本地试试(http://127.0.0.1),屏幕上正常就会显示:It works !

三、安装php前GD库的安装:

1.安装 jpeg6
需要自己建立目录
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4# mkdir /opt/app/jpeg6
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4# mkdir /opt/app/jpeg6/bin
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4# mkdir /opt/app/jpeg6/lib
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4# mkdir /opt/app/jpeg6/include
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4# mkdir /opt/app/jpeg6/man
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4# mkdir /opt/app/jpeg6/man/man1
root@xmlinuxer-server:/media/WinF/LAMP/httpd-2.2.4# cd..
root@xmlinuxer-server:/media/WinF/LAMP# tar -zxvf jpegsrc.v6b.tar.gz
root@xmlinuxer-server:/media/WinF/LAMP# cd jpegsrc.v6b
root@xmlinuxer-server:/media/WinF/LAMP/jpegsrc.v6b#./configure --prefix=/opt/app/jpeg6/ --enable-shared --enable-static
root@xmlinuxer-server:/media/WinF/LAMP/jpegsrc.v6b# make; make install

2.安装 libpng
root@xmlinuxer-server:/media/WinF/LAMP/jpegsrc.v6b# cd ..
root@xmlinuxer-server:/media/WinF/LAMP# tar -jxvf libpng-1.2.8.tar.bz2
root@xmlinuxer-server:/media/WinF/LAMP# cd libpng-1.2.8
root@xmlinuxer-server:/media/WinF/LAMP/libpng-1.2.8# cp scripts/makefile.std /media/WinF/LAMP/libpng-1.2.8/makefile
root@xmlinuxer-server:/media/WinF/LAMP/libpng-1.2.8# make; make install

3.安装 freetype
root@xmlinuxer-server:/media/WinF/LAMP/libpng-1.2.8# cd ..
root@xmlinuxer-server:/media/WinF/LAMP# tar -zxvf freetype-2.3.2.tar.gz
root@xmlinuxer-server:/media/WinF/LAMP# cd freetype-2.3.2
root@xmlinuxer-server:/media/WinF/LAMP/freetype-2.3.2# ./configure --prefix=/opt/app/freetype
root@xmlinuxer-server:/media/WinF/LAMP/freetype-2.3.2# make;make install

4.安装libXML2
root@xmlinuxer-server:/media/WinF/LAMP/freetype-2.3.2# cd ..
root@xmlinuxer-server:/media/WinF/LAMP# tar -jxvf libxml2-2.6.24.tar.bz2
root@xmlinuxer-server:/media/WinF/LAMP# cd libxml2-2.6.24
root@xmlinuxer-server:/media/WinF/LAMP/libxml2-2.6.24# ./configure --prefix=/opt/app/libxml
root@xmlinuxer-server:/media/WinF/LAMP/libxml2-2.6.24# make
root@xmlinuxer-server:/media/WinF/LAMP/libxml2-2.6.24# make install

5.安装 GD2
root@xmlinuxer-server:/media/WinF/LAMP/libxml2-2.6.24# cd ..
root@xmlinuxer-server:/media/WinF/LAMP# tar -zxvf gd-2.0.34.tar.gz
root@xmlinuxer-server:/media/WinF/LAMP# cd gd-2.0.34
root@xmlinuxer-server:/media/WinF/LAMP/gd-2.0.34#./configure --prefix=/opt/app/gd --with-jpeg=/opt/app/jpeg6 --with-png=/usr/local/lib --with-zlib=/opt/app/zlib --with-freetype=/opt/app/freetype
root@xmlinuxer-server:/media/WinF/LAMP/gd-2.0.34# make
root@xmlinuxer-server:/media/WinF/LAMP/gd-2.0.34# make install

#安装PHP完整配置

root@xmlinuxer-server:/media/WinF/LAMP#tar -zxvf php-5.2.0.tar.gz
root@xmlinuxer-server:/media/WinF/LAMP#cd php-5.2.0
root@xmlinuxer-server:/media/WinF/LAMP/php-5.2.0#./configure --prefix=/opt/app/php5 --with-libxml-dir=/opt/app/libxml --with-gd=/opt/app/gd --with-jpeg-dir=/opt/app/jpeg6 --with-zlib-dir=/opt/app/zlib --with-libpng-dir=/usr/local/lib --with-freetype-dir=/opt/app/freetype --enable-mbstring --with-apxs2=/opt/app/apache2/bin/apxs --with-mysql=/opt/app/mysql5 --with-config-file-path=/opt/app/php5/etc

可能会有提示错误,编译安装下flex包:#apt-get install flex 再重新编译下就OK啦

root@xmlinuxer-server:/media/WinF/LAMP/php-5.2.0#cp php.ini-dist /opt/app/php5/etc/php.ini
root@xmlinuxer-server:/media/WinF/LAMP/php-5.2.0#make
root@xmlinuxer-server:/media/WinF/LAMP/php-5.2.0#make install

written by Yousri \\ tags: , , , ,