存档

‘Linux’ 分类的存档

centos 添加IP

2011年12月27日 admin 没有评论

一、添加单个IP的方法:
# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth0:0
# nano ifcfg-eth0:0

使用cp命令复制一个eth0的文件,新的文件名为eth0:0 ,然后用nano编辑此文件。不习惯用nano的可以用vi等命令。打开文件后编辑:

DEVICE=eth0:0      #此处添加:0,保持和文件名一致,添加多个IP依次递增
ONBOOT=yes                      #是否开机激活
BOOTPROTO=static              #静态IP,如果需要DHCP获取请输入dhcp
IPADDR=192.168.1.2            #此处修改为要添加的IP
NETMASK=255.255.255.0      #子网掩码根据你的实际情况作修改

文件编辑完之后,运行:

/etc/init.d/network reload

用ifconfig看新的IP是否已经加上。

删除IP用如下

如删除eth0:1这样的虚拟网卡

rm /etc/sysconfig/network-scripts/ifcfg-eth0:0

建议删除后重启网络服务或重启系统

引用
service network restart

二、批量添加IP:

在/etc/sysconfig/network-scripts下创建一个range文件,也可以用vi等编辑

nano /etc/sysconfig/network-scripts/ifcfg-eth0-range0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=192.168.2.2     #起始IP
IPADDR_END=192.168.2.254         #结束IP
CLONENUM_START=1        #表示这段IP网卡号从eth0:1开始
NETMASK=255.255.255.0

无类域间路由(CIDR)的子网掩码设置参考:http://www.taohost.net/tools/subnet.htm

/29 (5 usable) NETMASK = 255.255.255.248
/28 (13 usable) NETMASK = 255.255.255.240
/27 (29 usable) NETMASK = 255.255.255.224
/26 (61 usable) NETMASK = 255.255.255.192
/25 (125 usable) NETMASK = 255.255.255.128
/24 (253 usable) NETMASK = 255.255.255.0

三、为一块新网卡配置IP地址的方法:

如果是为第二块网卡配IP,在/etc/sysconfig/network-scripts目录下编辑一个ifcfg-eth1的文件:

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

修改一下IPADDR,NETMASK和GATEWAY的参数。

运行:

/etc/init.d/network reload

用ifconfig看新的IP是否已经加上。

分类: Linux 标签: ,

Wrapper Linux Java Service

2011年8月29日 admin 没有评论

乃妹的,折腾了2天的linux底下service的创建终于搞定了。
用tomcat的jsvc始终没搞定,说是找不到class,但是单独运行jar是可以的,
这不是坑爹吗。不管了 反正wrapper可以用就行了。
需要注意的地方:一个是jdk的路径,一个是要对wrapper 加权限,另一个是mainclass。
步骤如下:
1、下载Java Service Wrapper(目前版本wrapper-linux-x86-32-3.2.3), 解压。

http://wrapper.tanukisoftware.org/

复制src\bin\sh.script.in到/opt/testapp/bin目录,重命名为symydns
复制wrapper\bin目录下的wrapper文件到/opt/testapp/bin目录
复制src\conf\wrapper.conf.in到/opt/testapp/conf目录,重命名为wrapper.conf
复制src\lib\lib目录下3个文件到/opt/testapp/lib目录
wrapper.so
wrapper.jar
我把我的配置文件贴出来

APP_NAME="SocketServer"
APP_LONG_NAME="SocketServer Application Server"
WRAPPER_CMD="./wrapper"
WRAPPER_CONF="../conf/wrapper.conf"
赋予执行权限
chmod 775 /opt/testapp/bin/symydns
chmod 775 /opt/testapp/bin/wrapper
 
3、修改/opt/testapp/conf/wrapper.conf文件
wrapper.java.command=/opt/jdk1.6.0_02/bin/java
使用WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序,这个千万不要改,改了后会启动多个JVM。
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
#这里添加你用到的jar包文件,从1..n你自己全写上吧,不过wrapper是必须的
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/test.jar
wrapper.java.classpath.3=/opt/jdk1.6.0_02/lib/dt.jar
wrapper.java.classpath.4=/opt/jdk1.6.0_02/lib/tools.jar
wrapper.java.library.path.1=../lib
#这个就是你自己可执行程序的主类(MainClass),一般来说,就是包含public static void main的那个类
wrapper.app.parameter.1=mydns.testjsvc
wrapper.app.parameter.2=1
wrapper.app.parameter.3=true
wrapper.app.parameter.4=cn.com.ppnote.SocketServer
wrapper.app.parameter.5=true
wrapper.app.parameter.6=1
wrapper.app.parameter.7=stop
上面的配置里使用了WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序。
 
4、让SocketServer开机自动运行
ln -s /opt/testapp/bin/SocketServer /etc/init.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc0.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc1.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc2.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc3.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc4.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc5.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc6.d/SocketServer
 
5、测试 执行命令:service symydns start|stop|restart|status

程序运行时,Java Service Wrapper在/opt/testapp/bin/目录下产生wrapper.log日志,
STATUS | wrapper | 2007/08/01 17:17:01 | –> Wrapper Started as Daemon
STATUS | wrapper | 2007/08/01 17:17:01 | Launching a JVM…
INFO | jvm 1 | 2007/08/01 17:17:09 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2007/08/01 17:17:09 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
INFO | jvm 1 | 2007/08/01 17:17:09 |
INFO | jvm 1 | 2007/08/01 17:17:10 | 程序开始运行…
INFO | jvm 1 | 2007/08/01 17:17:26 | Connection: Open
……

附目录结构
/opt/testapp/bin
| SocketServer
| wrapper
| wrapper.log(程序运行时自动产生)
/opt/testapp/conf
| wrapper.conf
/opt/testapp/lib
| libwrapper.so
| wrapper.jar
| test.jar

网上参考教程很多:

http://hi.baidu.com/ling1026/blog/item/1a060e97bf03d96b54fb9654.html

分类: Linux 标签:

Linux Java 服务

2011年8月27日 admin 没有评论

Linux下安装jsvc以服务的方式启动Java程序
安装tomcat 请参考http://www.linuxidc.com/Linux/2010-06/26912.htm
1.安装jsvc
在tomcat的bin目录下有一个jsvc.tar.gz的文件,进入tomcat的bin目录下
#tar xvfz jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh
#chmod 755 configure
#./configure –with-java=/usr/local/java (改成你的JDK的位置)
#make

2.编写服务启动类

package com.sohu.jsvc.test;
 
public class TestJsvc {
 
public static void main(String args[]) {
System.out.println("execute main method!");
}
 
public void init() throws Exception {
System.out.println("execute init method!");
}
 
public void init(String[] args) throws Exception{
System.out.println("execute init(args) method");
}
 
public void start() throws Exception {
System.out.println("execute start method!");
}
 
public void stop() throws Exception {
System.out.println("execute stop method!");
}
 
public void destroy() throws Exception{
System.out.println("execute destroy method!");
}
 
}

main方法可以去掉,但是init(String[] args),start(),stop(),destroy()方法不能少,服务在启动时会先调用init(String[] args)方法
然后调用start()方法,在服务停止是会首先调用stop()方法,然后调用destroy() 方法.

3.把这个类打包成testjsvc.jar 放到/test目录下

4.编写启动服务的脚本 myjsvc

#!/bin/sh

# myjsvc This shell script takes care of starting and stopping
#
# chkconfig: - 60 50
# description: tlstat stat is a stat data daemon.
# processname: myjsvc

# Source function library.
. /etc/rc.d/init.d/functions
 
RETVAL=0
prog="MYJSVC"
 
# jdk的安装目录
JAVA_HOME=/usr/java/jdk1.5.0_15
#应用程序的目录
MYJSVC_HOME=/test
#jsvc所在的目录
DAEMON_HOME=/usr/local/tomcat5/bin/jsvc-src
#用户
MYJSVC_USER=root
 
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/tlstat.pid
 
#程序运行是所需的jar包,commons-daemon.jar是不能少的
CLASSPATH=\
/test/testjsvc.jar:\
/usr/local/tomcat5/bin/commons-daemon.jar:\
 
case "$1" in
start)
#
# Start TlStat Data Serivce
#
$DAEMON_HOME/jsvc \
-user $MYJSVC_USER \
-home $JAVA_HOME \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
-outfile $MYJSVC_HOME/log/myjsvc.out \
-errfile '&1' \
-cp $CLASSPATH \
#服务启动类
com.sohu.jsvc.test.TestJsvc 
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
 
stop)
#
# Stop TlStat Data Serivce
#
$DAEMON_HOME/jsvc \
-stop \
-pidfile $PID_FILE \
com.sohu.jsvc.test.TestJsvc
exit $?
;;
 
*)
echo "Usage myjsvc start/stop"
exit 1;;
esac

文件务必要转换为unix文件类型
5. 把myjsvc文件拷贝到/etc/init.d/目录下

6. #chmod -c 777 /etc/init.d/myjsvc

7. 添加服务
#chkconfig –add myjsvc
#chkconfig –level 345 myjsvc on

8. 完成,启动服务

#service myjsvc start

你可以从/test/log/myjsvc.out文件里看到如下信息:

execute init(args) method

execute start method

#service myjsvc stop

你会发现/test/log/myjsvc.out文件里会增加如下信息

execute stop method

execute destroy method

并且在系统重启时会自动启动myjsvc服务
相关文章链接:

http://www.linuxidc.com/Linux/2008-08/15266.htm

错误:env: /etc/init.d/myjsvc: No such file or directory

http://hi.baidu.com/meng_fy/blog/item/bc7f903fdfb790e755e72320.html

分类: Linux 标签: , ,

比较靠谱的mydns安装

2011年7月20日 admin 没有评论

http://haip1001.blog.163.com/blog/static/76089064200941285222426/

http://zhu8337797.blog.163.com/blog/static/17061754920108994134702/?fromdm&fromSearch&isFromSearchEngine=yes

经别人测试的centos+bind

http://www.linuxidc.com/Linux/2011-05/35629.htm

分类: Linux 标签:

关于Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ 的问题

2011年7月17日 admin 没有评论

yum安装mysql 后 启动 service mysqld restart Failed.
mysql -u root 则返回

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

只需要改
vi /etc/my.cnf
将socket路径改成天如下
socket=/var/lib/mysql/mysql.sock
网上也有别人遇到的情况和方法

http://www.blogjava.net/asenyifei/articles/82575.html

分类: Linux 标签:

Linux常用命令(更新中)

2011年7月17日 admin 没有评论

Linux常用命令搜集:
运行php
php -q a.php
查找文件
find -name test.php
查看进程
top
启动服务命令
service mysqld start

分类: Linux 标签:

yum 安装出错,提示Cannot retrieve repository metadata (repomd.xml) for repository:

2011年7月17日 admin 没有评论

yum 安装出错,提示Cannot retrieve repository metadata (repomd.xml) for repository:
找了很久其他方法都不行
找到这个。把里面的源替换就可以了

http://hi.baidu.com/layokb/blog/item/edf42653a60219858c543093.html

最好的源:
# CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever – Base
baseurl=http://centos.ustc.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#released updates
[updates]
name=CentOS-$releasever – Updates
baseurl=http://centos.ustc.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever – Addons
baseurl=http://centos.ustc.edu.cn/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras
baseurl=http://centos.ustc.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus
baseurl=http://centos.ustc.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

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

分类: Linux 标签: ,

centos下安装mydns

2011年7月16日 admin 没有评论

MyDNS是一个UNIX平台下的免费DNS服务器端软件。它被设计成直接从数据库中读取DNS记录软件,并且修改记录后也可时时生效。

我安装mydns的环境 centos 5.5 i386 mysql5.1 php5.2.14 mydns1.1.0 mydnsconfig3.0.1 apache

下面是mydns的官方

mydns:http://mydns.bboy.net/

mydnsconfig:http://www.mydnsconfig.org/

先下载mydns

    wget http://mydns.bboy.net/download/mydns-1.1.0.tar.gz

然后解压

    tar zxvf mydns-1.1.0.tar.gz

编译安装

    ./configure
    make && make install

创建mydns的数据库

    mysqladmin -u username -p create mydns

写入数据库结构

    mydns –create-tables | mysql  -u username -p mydns

给mydns数据库赋予权限

    mysql -u username -p mydns
    mysql> GRANT SELECT ON mydns.* TO user@localhost IDENTIFIED BY 'password';

创建生成mydns配置文件

    mydns –dump-config > /etc/mydns.conf

修改mydns.conf中数据库连接字段

    $conf["db_type"]                = 'mysql';
    $conf["db_host"]                = 'localhost';
    $conf["db_database"]            = 'mydns';
    $conf["db_user"]                = 'sudu';
    $conf["db_password"]            = 'sudu123';

后台启动mydns

    mydns –background

然后可以通过netstat去看mydns的53端口是否成功启动

安装mydnsconfig如果apache下面就比较简单了,直接通过下面的命令就可以了

    cd /tmp
    wget http://www.mydnsconfig.org/downloads/MyDNSConfig-3-stable.tar.gz
    tar xvfz MyDNSConfig-3-stable.tar.gz
    cd mydnsconfig/install/
    php -q install.php

然后按照提示选择安装就可以了。

分类: Linux 标签: ,

freebsd上安装MYDNS

2011年7月16日 admin 没有评论

mydns也是开源的dns解析服务器软件,国内很多商家都在使用。本文是在freebsd6.0上安装的,采用了mydns+mysql的形式。

1. 安装mydns

# cd /usr/ports/dns/mydns
# make extract
# mkdir /usr/local/www/data/mydns
# cp work/mydns-1.1.0/contrib/MyDNS.pm admin.php create_domain.pl stats.php /usr/local/www/data/mydns
# make install clean

# cd /usr/local/www/data/mydns
# vi admin.php

$dbhost = "localhost";
$dbuser = "mydns";
$dbpass = "password";
$dbname = "mydns";

2. 创建数据库

# mysqladmin -u root -p create mydns

创建数据表

# mydns --create-tables | mysql -u root -p mydns

3. 创建数据库用户

# mysql -u root -p mydns

mysql> GRANT select,insert,update,delete,create,drop ON mydns.* TO mydns@localhost IDENTIFIED BY 'password';
mysql> GRANT select ON mydns.* TO user@localhost IDENTIFIED BY 'password';

4. mydns配置文件

# cp /usr/local/etc/mydns.conf.sample /usr/local/etc/mydns.conf
# chmod 600 /usr/local/etc/mydns.conf
# vi /usr/local/etc/mydns.conf

db-host = localhost             # SQL server hostname
db-user = user                  # SQL server username
db-password = password          # SQL server password
database = mydns                # MyDNS database name

5. 启动mydns

# vi /etc/rc.conf
mydns_enable="YES"
 
# /usr/local/etc/rc.d/mydns.sh start

6. 通过浏览器添加一个域名

http://localhost/mydns/admin.php
分类: Linux 标签: ,

Centos Yum管理安装Apache+PHP+Mysql的基本安装

2011年7月14日 admin 没有评论

1. 安装Apahce, PHP, Mysql, 以及php连接mysql库组件。

yum -y install httpd php mysql mysql-server php-mysql

2. 配置开机启动服务

/sbin/chkconfig httpd on             [设置apache服务器httpd服务开机启动]
/sbin/chkconfig --add mysqld         [在服务清单中添加mysql服务]
/sbin/chkconfig mysqld on             [设置mysql服务开机启动]
/sbin/service httpd start            [启动httpd服务,与开机启动无关]
/sbin/service mysqld start           [启动mysql服务,与开机无关]

3.设置mysql数据库root帐号密码。

mysqladmin -u root password 'newpassword'           [引号内填密码]

4. 让mysql数据库更安全

mysql -u root -p
mysql> DROP DATABASE test;                            [删除test数据库]
mysql> DELETE FROM mysql.user WHERE user = '';        [删除匿名帐户]
mysql> FLUSH PRIVILEGES;                              [重载权限]

5. 按照以上的安装方式, 配置出来的默认站点目录为/var/www/html/
新建一个test.php脚本:

<?php
   phpinfo();
?>

进入centos系统 打开firefox 浏览器输入 http://localhost/test.php就会出来结果

6. 新建一个数据库,添加一个数据库用户,设置用户权限。写个php脚本测试一下数据库连接吧。

mysql> CREATE DATABASE my_db;
mysql> GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'password';
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql   [安装apache扩展]
yum install php-gd [安装php的扩展]
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
yum -y installmysql-connector-odbcmysql-devel libdbi-dbd-mysql [安装mysql扩展]
分类: Linux 标签: , , ,