linux部署tomcat到管理tomcat常用

相关传输命令:

zip -r myzip.zip  /root/myfolder

unzip myzip

cp -r /root/back  /root/…./ROOT

whereis httpd

weget http://….jdk.bin

ps -aux | grep java 查看进程
kill -9 12345 【-9 强制】

定时任务【数据库备份命令】

安装字体【生成PDF文件使用】
/usr/share/fonts/truetype/simsun/simsun.ttc

=============
java环境变量
生成PDF字体安装
MYSQL备份脚本
MYSQL数据库添加
APACHE代理设置
TOMCAT端口设置
jmagick安装

自动启动TOMCAT vi /etc/rc.d/rc.local

export JDK_HOME=/usr/local/java/jdk1.6.0_13
export JAVA_HOME=/usr/local/java/jdk1.6.0_13
/usr/local/java/tomcat-sinykk/bin/startup.sh

=====================================================================
mysql 操作

查看mysql状态: service mysqld status;

查看所有用户
select user,host,password from mysql.user;

创建用户
GRANT ALL PRIVILEGES ON xiaochun51itsns.* TO xiaochun51itsns@”%”  IDENTIFIED BY “xiaochun51itsns123” ;

mysql> GRANT ALL ON *.* TO admin@’%’ IDENTIFIED BY ‘admin’ WITH GRANT OPTION;     
mysql> flush privileges;

1>这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server     

2>必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆 

mysql> create database uch_blog character set utf8;
mysql> use uch_blog;
mysql> set names utf8;
mysql> source e:/sinykk_db.sql;

==========================================
关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

=============================
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

  crontab -l //列出某个用户cron服务的详细内容

  crontab -r //删除没个用户的cron服务

  crontab -e //编辑某个用户的cron服务

  比如说root查看自己的cron设置:crontab -u root -l

  再例如,root想删除fred的cron设置:crontab -u fred -r

  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

========================
安装imagemagick

yum install ImageMagick

convert aa.jpg bb.jpg

================================================

查看IP,VM无线这个可能不能查
ifconfig

查看linux版本

cat /proc/version

用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)
查看CPU信息:cat /proc/cpuinfo
查看板卡信息:cat /proc/pci
查看PCI信息:lspci (相比cat /proc/pci更直观)
查看内存信息:cat /proc/meminfo
free
查看USB设备:cat /proc/bus/usb/devices
查看键盘和鼠标:cat /proc/bus/input/devices
查看系统硬盘信息和使用情况:fdisk & disk – l & df
查看磁盘分区表及分区结构 fdisk -l
查看硬盘信息 df -lh
查看各设备的中断请求(IRQ):cat /proc/interrupts
查看启动硬件检测信息日志:dmesg more /var/log/dmesg

Linux下配置java、tomcat、mysql环境

1.到sun官网下载jdk:jdk-6u22-linux-i586-rpm.bin  http://java.sun.com http://www.oracle.com/technetwork/java/index.html

安装命令:./jdk-6u22-linux-i586-rpm.bin

#set java_environment

JAVA_HOME=jdk路径

export JAVA_HOME

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export CLASSPATH

PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

export PATH

2.下载tomcat http://tomcat.apache.org/ 解压后既可使用

3.下载mysql http://www.mysql.com/

下载client与servet即可

MySQL-client-5.1.52-1.glibc23.i386.rpm

MySQL-server-5.1.52-1.glibc23.i386.rpm

 

ulimit值(Linux文件句柄数量)的调整

本文链接: http://www.php-oa.com/2008/04/21/ulimit-linux.html

 

在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题,比如还有Squid做代理,当文件打开数到900多时速能就非常快的下降,有可能打不开网页.
其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量.

查看方法

我们可以用ulimit -a来查看所有限制值

[root@centos5 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
max nice                        (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 4096
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
max rt priority                 (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited||<

其中 “open files (-n) 1024
“是Linux操作系统对一个进程打开的文件句柄数量的限制(也包含打开的SOCKET数量,可影响MySQL的并发连接数目).这个值可用ulimit
命令来修改,但ulimit命令修改的数值只对当前登录用户的目前使用环境有效,系统重启或者用户退出后就会失效.

系统总限制是在这里,/proc/sys/fs/file-max.可以通过cat查看目前的值,修改/etc/sysctl.conf 中也可以控制.

另外还有一个,/proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量

查找文件句柄问题的时候,还有一个很实用的程序lsof.可以很方便看到某个进程开了那些句柄.也可以看到某个文件/目录被什么进程占用了.

修改方法

若要令修改ulimits的数值永久生效,则必须修改配置文档,可以给ulimit修改命令放入/etc/profile里面,这个方法实在是不方便,还
有一个方法是修改/etc/sysctl.conf .我修改了,测试过,但对用户的ulimits -a
是不会改变的。只是/proc/sys/fs/file-max的值变了.(我给命令放到rc.local中失败)

我认为正确的做法,应该是修改/etc/security/limits.conf
里面有很详细的注释,比如

* soft nofile 32768
* hard nofile 65536

也可以直接运行下面这个shell。直接copy到你的终端中运行就好了.
echo -ne “
* soft nofile 65536
* hard nofile 65536
” >>/etc/security/limits.conf

就可以将文件句柄限制统一改成软32768,硬65536.配置文件最前面的是指domain,设置为星号代表全局,另外你也可以针对不同的用户做出不同的限制

注意.这个当中的硬限制是实际的限制,而软限制,是warnning限制,只会做出warning.其实ulimit命令本身就有分软硬设置,加-H就是硬,加-S就是软
默认显示的是软限制,如果运行ulimit命令修改的时候没有加上的话,就是两个参数一起改变.

生效

修改完重新登录就可以见到.(我的系统是Centos5.1.修改了,重新登录后就立刻生效.可以用ulimit -a 查看确认.)

 

如果你使用squid的话,你要在/etc/init.d/squid的文件加入ulimit -HSn 65535.另外,在squid.conf中也要加入max_filedesc 16384

 

也可在catalina.sh文件里设置:

# —————————————————————————–

JAVA_OPTS=’-server -Xms1024m -Xmx2048m -XX:PermSize=64M -XX:MaxPermSize=128m -Duser.timezone=Asia/Shanghai’
#file open ulimit
ulimit -n 65536

mysql密码忘记

分别在Windows下和Linux下重置了MYSQL的root的密码,整理如下:

在windows下:
打开命令行窗口,停止mysql服务:Net stop mysql
到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动,
在命令行窗口执行:mysqld-nt –skip-grant-tables
然后另外打开一个命入令行窗口,执行mysql,此时无需输入密码即可进入。
Java代码
>use mysql
>update user set password=password(“新密码”) where user=”root”;
>flush privileges;
>exit
使用任务管理器,找到mysqld-nt的进程,结束进程!
在重新启动mysql-nt服务,就可以用新密码登录了。

在linux下:
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld –skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
Java代码
>use mysql
>update user set password=password(“new_pass”) where user=”root”;
>flush privileges
;
重新杀 MySQL ,用正常方法启动 MySQL 。

 

   服务器是mysqld或者是mysqld-nt,它可以注册或删除mysqlwindows中的服务。

不同mysql服务器下有不同的数据库。开启不同的mysql服务器,可以连接不同的数据库。

(1)把mysql服务安装到windows系统服务中:

        mysqld –installed mysql

(2)把mysql服务从windows系统服务中删除:

        mysqld –remove mysql

注:其中mysql称为服务名。

(3)直接输入mysqld,则开启了mysql服务。

(4)关闭mysql:

        mysqladmin -u root -ppublic shutdown.

Linux下PHP5+MySQL5+GD2+Proftpd+phpmyadmin

一直想写篇关于Linux下 PHP环境的详细安装配置文章, 没什么时间
趁现要配几台服务器, 借此机会把自己安装配置的步骤写出来, 供初学者参考!

有什么错误的地方请大家指证批评,谢谢! – by Mayer

首先我在 /root 目录下建了一个 soft 文件夹来保存我要安装的源码包
mkdir /root/soft
cd /root/soft

先找到 apache php mysql proftpd 源码包下载的URL地址
请浏览
http://www.apache.org
http://www.php.net
http://www.mysql.com
http://www.proftpd.org/
等官方网站
使用wget 直接下载

wget http://apache.justdn.org/httpd/httpd-2.0.55.tar.gz

wget http://cn.php.net/get/php-5.0.5.tar.gz/from/cn2.php.net/mirror

wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-standard-5.0.15-linux-i686.tar.gz/from/http://mysql.oss.eznetsols.org/

第一步:安装apache
注:当前目录为/root/soft ,
目录下有
httpd-2.0.55.tar.gz, php-5.0.5.tar.gz
等二进制源码包
#号代表为root 根权限,#后是输入的一条命令

执行下列命令
解压源码包
# tar -zxf httpd-2.0.55.tar.gz
进入安装目录
# cd httpd-2.0.55
配置apache安装信息
# ./configure –prefix=/usr/local/apache –enable-modules=so –enable-rewrite
执行make安装
# make; make install
安装完后
# vi /usr/local/apache/conf/httpd.conf
找到 prefork.c 下的
MaxClients 150
改为
ServerLimit 2000
MaxClients 1000
apache默认工作在prefork.c模式下,并发进程为150,超过后就无法访问,150是远远不够的,所以这里按自己网站的需求改, 如1000
由于apache默认最大并发进程是 256 所以要先设置 ServerLimit 2000 将服务器可设的最大并发数设为2000, 然后再设置最大并发数 MaxClients 1000

找到 #ServerName www.example.com:80 在其下设置 ServerName 如下
ServerName www.mysite.com
基中 www.mysite.com 为你网站名,也可用IP代替
找到 DocumentRoot “/usr/local/apache/htdocs”
设置你的 WEB 服务器的根目录 如
DocumentRoot “/myweb”
找到 DirectoryIndex index.html index.html.var 改为
DirectoryIndex index.html index.php index.htm
找到 ForceLanguagePriority Prefer Fallback 在其下加上
AddDefaultCharset gb2312
改完后保存(vi 的用法请查 Linux vi 命令)
用下面命令启动WEB服务器
# /usr/local/apache/bin/apachectl start
查看自己的站点是否正常 http://www.mysite.com 也可用IP
用 # /usr/local/apache/bin/apachectl stop 可停止服务

安装MYSQL
# tar -zxf mysql-standard-5.0.15-linux-i686.tar.gz
# cp -r mysql-standard-5.0.15-linux-i686 /usr/local/mysql
# vi /usr/local/mysql/support-files/my-medium.cnf
在后面加上
max_connections = 1000
log-slow-queries
long_query_time = 5
注 max_connections 为允许的最大连接数
log-slow-queries 打开低速查询日志
long_query_time 低速查询的秒数(运行一句sql达到此时间记录在日志里)
然后COPY 它为 /etc/my.cnf 文件
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
添加mysql用户及用户组
# groupadd mysql
# useradd -g mysql mysql
修改mysql目录权限
# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
# chown -R mysql /usr/local/mysql/data
生成mysql系统数据库
# /usr/local/mysql/scripts/mysql_install_db –user=mysql&
启动mysql服务
# /usr/local/mysql/bin/mysqld_safe –user=mysql&
如出现 Starting mysqld daemon with databases from /usr/local/mysql/data
代表正常启动mysql服务了, 按Ctrl + C 跳出
修改 mysql 的 root 密码
# /usr/local/mysql/bin/mysqladmin -u root -p password 123456
回车出现 Enter password: 最开始密码默认为空 继续回车即可
123456 即为你的新密码
注意:在安装MySQL5.0的时候会出现一个问题,就是和PHP联合编译的时候提示-lmysqlclient错误,这个原因是因为使用了另外一个版本的MySQL,我们需要使用的是Linux x86那个版本,不要是glibc-2.2那个。参考(http://forums.mysql.com/read.php 45,100371,101591#msg-101591)

安装GD库(让PHP支持GIF,PNG,JPEG)
首先下载 jpeg6,libpng,freetype 并安装模块
wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.8.tar.gz
wget http://keihanna.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz
wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

安装 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
# 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
# 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/
# make; make install

安装最新的Curl库
# cd /root/soft
# wget http://curl.haxx.se/download/curl-7.15.0.tar.gz
# tar -zxf curl-7.15.0.tar.gz
# ./configure –prefix=/usr/local/curl
# make; make install

安装PHP

由于php5需libxml2的支持, 所以先下载并安装libxml2
# cd /root/soft
# wget http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.19.tar.gz
# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure –prefix=/usr/local/libxml2
# make; make install

安装 libxslt
# cd /root/soft
# wget http://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/libxslt-1.1.15.tar.gz
# tar -zxf libxslt-1.1.15.tar.gz
# cd libxslt-1.1.15
# ./configure –prefix=/usr/local/libxslt –with-libxml-prefix=/usr/local/libxml2
# make; make install

# tar -zxf php-5.0.5.tar.gz
# cd php-5.05
# ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql/ –with-curl=/usr/local/curl –enable-ftp –with-libxml-dir=/usr/local/libxml2 –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 –enable-mbstring
# make
# make install

其中./configure 后的
–prefix=/usr/local/php
–with-apxs2=/usr/local/apache/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, 上面这些一般用得少, 可以去掉

配置 httpd.conf 让apache支持PHP
# vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

重启apache
# /usr/local/apache/bin/apachectl restart
在这里有一个问题,如果你的系统安装了SELinux模块,那么由于安全控制的原因,会出现如下错误:
Starting httpd: Syntax error on line 191 of /etc/httpd/conf/httpd.conf:
Cannot load /etc/httpd/modules/libphp5.so into server: libxml2.so.2: failed to map segment from shared object: Permission denied
[FAILED]
这样需要我们到指定的库文件的目录下执行如下命令:
restorecon libxml2.so.2.6.19
把类似的错误都解决之后,Apache就可以正常启动了。
在你Web目录里建一内容为 <  phpinfo();  > PHP文件, 输入URL地址查看PHP配置是否正确

安装 phpmyadmin
下载
# cd /root/soft
# wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.6.4-pl3.tar.gz
# tar -zxf phpMyAdmin-2.6.4-pl3.tar.gz
phpMyAdmin必须需要PHP支持MySQL。
并且在2.8以后的版本,解压完毕后,首先需要手工建一个config目录,然后配置完毕后,需要点击页面上的Configuration中的Save把文件存成config.inc.php。
# vi phpMyAdmin-2.6.4-pl3/config.inc.php
找到 $cfg[‘Servers’][$i][‘auth_type’] = ‘config’; 将config 改为 http
保存后
mv phpMyAdmin-2.6.4-pl3 /你的phpmyadmin目录
关于mysql4.1-4移植4.0旧数据库中文乱码问题的解决方法
进入phpmyadmin管理
建立你数据库名并选上 gb2312_bin 的编码
然后导入你先前备份好的SQL文件, 导入时选择 文件的字符集:gb2312
完成后就OK了
注: PHP连接mysql4.1和5.0 数据库后需指定字符集 需执行如 mysql_query(“SET NAMES ‘gb2312’ “);
否则会产生中文乱码问题!

Proftpd 的安装
下面这篇文章介绍得比较详细
http://www.5ilinux.com/blog/archives/000082.html

Linux下备份数据与恢复数据乱码问题

以下来源于MySQL5.0官方手册,希望解决您的问题

1.MySQL备份
MySQL备份使用mysqldump –default-character-set=utf8 -u root -p mydb &gt; mydb.sql

2.MySQL恢复
mysql –default-character-set=utf8 -u root -p mydb &lt; mydb.sql

如果您的sql文件中DEFAULT_CHARSET=latin1或其他不是utf8的字符集,请参考:
中国Linux公社从gb2312转成utf8成功经验
piconv -f gb2312 -t utf8 old.sql &gt; new.sql

WordPress移植

       我的知识库就是架构在WordPress上的,自然也需要将WordPress移植到Ubuntu上来。以前使用的是XMAPP的Windows版本,基本上什么都不用配置,很简单就可以安装上。
       根据我昨天在Ubuntu下的经验,不是很爽。特别是很多软件的配置一点都不熟悉。然后这些应用程序把文件夹分布在各种地方,在Linux下文件的权限有用户的权限,组的权限,以及其它人的权限,所以呢,在文件操作的时候不是很爽,因为经常因为权限的问题需要你来回的折腾。
       而我对Linux的文件操作命令完全不熟,只好不停的求教以及Google,查找各种命令的用法。很麻烦。到后来实在麻烦,索性以sudo chmod -R 777 /opt/lampp。省得麻烦,不过,这也造成我后面安装XMAPP的时候PHPMyAdmin,启动不起来了。郁闷
      
       XMAPP在linux的安装非常简单,真的做得不错。我到网站上跟着别人一步一步走下来就OK了。另外,http://forum.ubuntu.org.cn/viewtopic.php t=43224&highlight=
       这篇文章也很不错。很容易就搞定安装了。
       基本不需要设置。记住root,密码为空就OK了。

       将WordPress放到htdocs下面去,记得改动一下WordPress的配置文件,把数据库的用户名和密码改一下就OK了。
       另外,在Ubuntu中,mysql被放到\opt\var\mysql目录下,直接把Wordpress所对应的数据库放到这个目录就可以了。记得重新启动MYSQL SERVER。
       你如果还想改变XMAPP的安全设置,也可以,上面的文档中讲得比较清楚。Apache,PhP5都不用配置,WordPress就可以运行,还是比较高兴的说。
      
       本来试图去改变MYSQL的用户名和密码,看到了MYSQL.CNF文件,很WINDOWS下的没有什么太大区别。不过管理和配置工具,又得去掌握那些MYSQL命令行,不是很舒服。如果有现成的MYSQL的界面管理工具,倒是值得试一下:),嘿嘿。

       嘿嘿,PHPMYADMIN不就是个很好的工具。刚才主要是因为两个配置文件,不能允许其它组的人,以及其它人对这个文件写,因此,现在现在把这两个文件的属性给改回来了,哈哈。真是爽快呀。

       现在,XMAPP完美启动,利用PHPMYADMIN可以管理MYSQL,能够管理用户和权限,一切OK。

        最后一点,MYSQL数据库目录需要设置为可读写的权限,否则,发BLOG的时候肯定是发不上去的。

       OK,一切成功!已经把JDK6安装上来了。

在linux上面LAMP安装

1. Apache安装

1. download httpd 2.2.16

# mkdir -p /usr/local/apache2
生成/usr/local/apache2目录

2. ./configure \
   
–prefix=/usr/local/apache2 \
   
–enable-so \
   
–enable-mods-shared=all \
   
–with-included-apr \
   
–enable-proxy=shared \
   
–enable-cache=shared \
   
–enable-file-cache=shared \
   
–enable-disk-cache=shared \
   
–enable-mem-cache=shared

 

if compile error show zlib not found, then use command check:

rpm -qa | grep -i zlib

if zlib is already installed, zlib-devel is needed to be installed:

yum install zlib-devel

 

we can use ./configure -help | grep mpm to see module options. After installation, we can use httpd -l  to see compiled modules.


   
make
   
make install

 

# vi /usr/local/apache2/conf/httpd.conf
设置DocumentRoot 的路径
保存退出,现在就这么简单配置apache。

# /usr/local/apache2/bin/apachectl -k start
启动apahce


用浏览器查看
(这里写你自己网站,如http://localhost/
),得到It works,说明apache已经配置成功了。


# /usr/local/apache2/bin/apachectl -k stop
停止apache

# /usr/local/apache/bin/apachectl restart
重启Apache

 
把httpd 添加到系统的启动项里
# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
# chmod 700 /etc/rc.d/init.d/httpd
# vi /etc/rc.d/init.d/httpd
在第三行后增加
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90
# description:http server
注意:没有这几行,在使用chkconfig时会提示你:service httpd does not support chkconfig。
chkconfig –add httpd
chkconfig –level 345 httpd on
这样,在运行级别345上httpd就可以自动启动了。


 

二,Mysql的安装
 
# cd /root
# tar -zvxf  mysql-5.1.32-linux-i686-glibc23.tar.gz
# mkdir -p /usr/local/mysql (省略也可)
# cp -r  mysql-5.1.32-linux-i686-glibc23/* /usr/local/mysql
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

添加mysql用户及用户组

# groupadd mysql
# useradd -g mysql mysql
修改mysql目录权限

# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
# chown -R mysql /usr/local/mysql/data
生成mysql系统数据库

# /usr/local/mysql/scripts/mysql_install_db –user=mysql&
启动mysql服务

# /usr/local/mysql/bin/mysqld_safe –user=mysql&
如出现 Starting mysqld daemon with databases from /usr/local/mysql/data
代表正常启动mysql服务了, 按Ctrl + C 跳出
修改 mysql 的 root 密码


# /usr/local/mysql/bin/mysqladmin -u root -p password “wengdo”

wengdo 这里可以换为你自己的密码

 
把你编译目录的一个脚本COPY过去

# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

# chkconfig –add mysqld

用ntsysv设置使mysql每次启动都能自动运行

好了,至此mysql安装完毕,你可以这样起动你的mysql服务

# /etc/rc.d/init.d/mysqld start

下面这步比较关键,

# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
# ln -s /usr/local/mysql/include/mysql /usr/include/mysql

大家可以不做这步,大可以在编译其他软件的时候自定义myslq的库文件路径,但我还是喜欢把库文件链接到默认的位置,这样你在编译类似PHP,Vpopmail等软件时可以不用指定mysql的库文件地址。

 
三,安装GD库 (如果你用系统自带的GD库,可以省略这一步)

  • 安装 jpeg6 

建立目录:

# mkdir -p /usr/local/jpeg6 
# mkdir -p /usr/local/jpeg6/bin 
# mkdir -p /usr/local/jpeg6/lib 
# mkdir -p /usr/local/jpeg6/include 
# mkdir -p /usr/local/jpeg6/man 
# mkdir -p /usr/local/jpeg6/man1
# mkdir -p /usr/local/jpeg6/man/man1

# cd /root
# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure –prefix=/usr/local/jpeg6/ –enable-shared –enable-static
# make
# make install

  • 安装libpng
    # cd /root
    # tar -zvxf libpng-1.2.35.tar.gz
    # cd libpng-1.2.35
  • mkdir -p /usr/local/libpng
    # ./configure –prefix=/usr/local/libpng
    # make
    # make install 
  • 安装 freetype
    # cd /root 
    # tar -zvxf freetype-2.3.9.tar.gz 
    # cd freetype-2.3.9
    # mkdir -p /usr/local/freetype
    # ./configure –prefix=/usr/local/freetype 
    # make
    # make install
  • 安装zlib
  • 安装curl
  • 安装GD库

# cd /root
# tar -zvxf gd-2.0.35.tar.gz
# mkdir -p /usr/local/gd2
# cd gd-2.0.35
# ./configure –prefix=/usr/local/gd2 –with-jpeg=/usr/local/jpeg6/
 –with-png=/usr/local/lib/ –with-zlib=/usr/local/lib/
–with-freetype=/usr/local/freetype/ –enable-m4_pattern_allow
# make
# make install

四,安装PHP5
php5必须有libxml2支持!

安装libxml2

# cd /root
# tar -zxvf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# mkdir -p /usr/local/libxml2
# ./configure –prefix=/usr/local/libxml2
# make
# make install
 
安装php5

# cd /root
# tar -zvxf php-5.2.9.tar.gz 
# mkdir -p /usr/local/php
# cd php-5.2.9
# ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs
–with-mysql=/usr/local/mysql/
–with-curl=/usr/local/curl –enable-ftp
–with-libxml-dir=/usr/local/libxml2
–with-gd=/usr/local/gd2/
–with-jpeg-dir=/usr/local/jpeg6/
–with-zlib-dir=/usr/local/zlib/
–with-png-dir=/usr/local/libpng/
–with-freetype-dir=/usr/local/freetype/
–enable-mbstring
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (别忘记了)

其中./configure 后的
–prefix=/usr/local/php
–with-apxs2=/usr/local/apache2/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=/usr/local/lib
–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, 上面这些一般用得少, 可以去掉

 

五,安装 ZendOptimizer
 
# cd /root
# tar -zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.3.0a-linux-glibc21-i386
# ./install.sh
然后出现图形界面,按提示Next

 
六,配置一些信息

配置 httpd.conf 让apache支持PHP

# vi /usr/local/apache2/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

重启apache

# /usr/local/apache2/bin/apachectl restart
在你设置的目录里建一内容为 <  phpinfo();  > PHP文件, 输入URL地址查看PHP配置是否正确

apache2+PHP4.4.1+Mysql4.1.18+GD2+ZendOptimizer(原创)

apache2+PHP4.4.1+Mysql4.1.18+GD2+ZendOptimizer

安装前准备

所有软件目录:/soft/lapm

工作目录:    /soft/dotmp

安装后的程序工作目录: /httpd

package list:

freetype-2.1.10.tar.gz

gd-2.0.33.tar.gz

httpd-2.0.54.tar.gz

jpegsrc.v6b.tar.gz

libpng-1.2.8-config.tar.gz

mysql-4.1.18.tar.gz

php-4.4.1.tar.gz

ZendOptimizer-2.6.0-Linux_glibc21-i386.tar.gz

zlib-1.2.3.tar.gz

1. 安装zlib (安装libpng和gd前需要先安装zlib)

# tar zxvf zlib-1.2.3.tar.gz

# cd  zlib-1.2.3

# ./configure

# make

# make install

2. 安装libpng

# tar zxvf libpng-1.2.8-config.tar.gz

# cd libpng-1.2.8-config

# ./configure

# make

# make install

3. 安装freetype

# tar zxvf freetype-2.1.10.tar.gz

# cd freetype-2.1.10

# ./configure –prefix=/httpd/freetype

# make

# make install

4. 安装jpeg

# tar zxvf jpegsrc.v6b.tar.gz

# cd jpeg-6b

# mkdir /httpd/jpeg

# mkdir /httpd/jpeg/bin

# mkdir /httpd/jpeg/lib

# mkdir /httpd/jpeg/include

# mkdir /httpd/jpeg/man

# mkdir /httpd/jpeg/man/man1

# ./configure –prefix=/httpd/jpeg –enable-shared –enable-static

#make

#make install

5. 安装gd

修改 freetype.h

#cd /httpd/freetype/include/freetype2/freetype/freetype.h

#vi freetyp.h

注释掉下面的

//#ifndef FT_FREETYPE_H

//#error “`ft2build.h’ hasn’t been included yet!”

//#error “Please always use macros to include FreeType header files.”

//#error “Example:”

//#error ”  #include <ft2build.h>”

//#error ”  #include FT_FREETYPE_H”

//#endif

加入这一句

#include “/httpd/freetype/include/ft2build.h”

# tar zxvf gd-2.0.33.tar.gz

# cd gd-2.0.33

# ./configure –prefix=/httpd/gd –with-jpeg=/httpd/jpeg –with-freetype=/httpd/freetype –with-png –with-zlib

//编译过程中会看到如下信息

** Configuration summary for gd 2.0.33:

   Support for PNG library:          yes

   Support for JPEG library:         yes

   Support for Freetype 2.x library: yes

   Support for Fontconfig library:   no

   Support for Xpm library:          no

   Support for pthreads:             yes

//可以看到png 、 jpeg 、 freetype都已经安装上了

# make

# make install

6. 安装mysql

# tar zxvf mysql-4.0.24.tar.gz

# cd mysql-4.0.24

# ./configure –prefix=/httpd/mysql  –sysconfdir=/httpd/mysql –enable-assembler –with-unix-socket-path=/tmp/mysql.sock  –with-mysqld-user=mysql –with-mysqld-ldflags=-all-static –with-innodb  –with-extra-charsets=all –with-charset=gb2312  –with-collation=gb2312_chinese_ci –enable-thread-safe-client

# groupadd mysql

# useradd mysql -g mysql

#make

#make install

#cp support-files/my-medium.cnf /etc/my.cnf

# ./scripts/mysql_install_db –user=mysql

# cd /httpd/mysql

# chown -R root .

# chown -R mysql var

# chown -R mysql var/.

# chown -R mysql var/mysql/.

# chgrp -R mysql .

#cp support-files/mysql.server /etc/

#chmod +x /etc/mysql.server

#chkconfig –del mysql

#chkconfig –add mysql

#/etc/mysql.server start  

# /httpd/mysql/bin/mysqld_safe –user=mysql &

# /httpd/mysql/bin/mysqladmin -u root password ‘new-password’

或修改密码

mysql>;GRANT USAGE ON *.* TO root@”localhost” IDENTIFIED BY ‘new-password’;

7. 安装apache2

# tar zxvf httpd-2.0.33.tar.gz

# cd httpd-2.0.54

# ./configure –prefix=/httpd/apache –enable-so –enable-track-vars–enable-mods-shared=all –enable-cache –enable-disk-cache –enable-mem-cache –enable-rewrite –with-mpm=worker

# make

# make install

/*********************************************

svn的:

./configure –prefix=/httpd/apache –enable-so –enable-track-vars–enable-mods-shared=all –enable-cache –enable-disk-cache –enable-mem-cache –enable-rewrite –with-mpm=worker –enable-dav –enable-dav=share –enable-dav-fs  –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util

**********************************************/

8. 安装php

# tar zxvf php-4.3.11.tar.gz

# cd php-4.3.11

# ./configure –prefix=/httpd/php4 –with-config-file-path=/httpd/apache/conf –with-apxs2=/httpd/apache/bin/apxs –with-gd=/httpd/gd –enable-gd –enable-gd-native-ttf –with-jpeg-dir=/httpd/jpeg –with-png –with-ttf –with-zlib –with-freetype-dir=/httpd/freetype –enable-magic-quotes –with-mysql=/httpd/mysql –with-mysql-sock=/tmp/mysql.sock –with-iconv –with-mbstring –enable-mbstring=all –enable-track-vars –enable-force-cgi-redirect –enable-short-tags –disable-debug –enable-safe-mode –enable-trans-sid –with-xml

# cp php.ini-dist /httpd/apache/conf/php.ini

/****************************************************

php5的:

./configure –prefix=/httpd/php5 –with-config-file-path=/httpd/apache/conf –with-apxs2=/httpd/apache/bin/apxs –with-gd=/httpd/gd –enable-gd –enable-gd-native-ttf –with-jpeg-dir=/httpd/jpeg –with-png –with-ttf –with-zlib –with-freetype-dir=/httpd/freetype –enable-magic-quotes –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-libxml-dir=/usr/local/libxml2 –with-expat-dir=/usr/lib –enable-soap  –with-xsl=/usr/local/libxslt –enable-xslt –enable-sqlite-utf8 –with-iconv –with-mbstring –enable-mbstring=all –enable-track-vars –enable-force-cgi-redirect –enable-short-tags –disable-debug –enable-safe-mode –enable-trans-sid –with-xml

****************************************************/

配置apache

ServerName 168.1.1.199 :80

AddType application/x-httpd-php .php

LoadModule php4_module modules/libphp4.so

9. 安装ZendOptimizer

# tar zxvf ZendOptimizer-2.5.7-Linux_glibc21-i386.tar.gz

# cd ZendOptimizer-2.5.7-Linux_glibc21-i386

# ./install.php

安装操作: [ok] ->; [EXIT] ->; [YES] ->; [/httpd/zend] ->; [/httpd/apache/conf] ->; [yes] ->; [/httpd/apache/bin/apachectl] ->; [OK] ->; [OK] ->; [NO]

安装svn

rails中mysql操作

  之前,做party-bid app和活动通服务器时,用的development和production数据库都是rails自带的sqlite3。在migrate之后,在rubymine的database中建立一个datasource,目标url是工程中db文件夹下development.sqlite3,JDBC的files和classs找到相应的sqlite3(下载),test链接后即可以显示出工程中的各种表结构了。

  接触客户通后,大数据和实际应用的价值要求使用的数据库是mysql2。它的配置就和sqlite3不一样了,没有自带的数据库的话,如果系统中没有安装就要从安装开始。

  从网上找了很多在linux下安装mysql的方法,开始时用过yum等方法,我认为最简单最方便的方法是:在终端直接输入

sudo apt-get install mysql-server mysql-client

  mysql分为server和client,这样就直接给mysql分配了root权限。

  修改mysql用户名和密码:

 mysqladmin -u root -p password

  这时mysql就已经安装好了。这时工程就可以执行db create 和db migrate了,执行之后数据库中就增加了工程中相应的database。

  进入数据库:

  mysql -hlocalhost -uroot -p

  查看数据源:

show databases;

  使用数据源:

use 'databases_name' 

  查看相应的表结构:

show tables

  mysql授予用户权限 和 使用密码:

grant all on database_name.*to user_name@localhost identified by password

  这时,数据库的开发环境就配置好了。下一步就是在工程中把使用的数据库显示出来,JDBC files和class就不再赘述了,目标url的格式是

jdbc:mysql://localhost/database_name

端口有是3304的,不写也没啥事。。

最后test connection通过就ok了。