linux 配置 django & java项目

来源:互联网 发布:c51单片机数字时钟 编辑:程序博客网 时间:2024/05/22 06:30

1 设置主机名

1.vim  /etc/sysconfig/network  设置:HOSTNAME=db_database  (永久修改,需要重启生效)

 

hostname 主机名设置    临时设置             

   hostname db_trade     223.4.214.21 同业平台(主放程序服务器)   

   hostname db_database  223.4.214.22 (主放数据库服务器)

 

2). /etc/hosts 主机名<==>IP映射  

用户在进行网络连接时,首先查找该文件,寻找对应主机名(或域名)对应的IP地址。我们修改之后的用户名对应的IP地址为127.0.0.1,修改/etc/hosts文件如下:

127.0.0.1 db_database localhost.localdomain  localhost

::1             localhost6.localdomain6 localhost6

 

2 安装软件  

rpm -qa|grep mysql 查看是否有安装过 mysql

rpm -e mysql

上面的命令中rpm -qa表示列出所有安装好的软件,grep则是过滤只列出有关键词httpd.参数-e表示erase,也就是卸载的意思.]

 

1)PYTHON 安装

1.由于centos  系统自带 python 2.4 所以需要升级为 2.66

2.下载  wget  http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2 /到什么目录

3. tar jxvf  Python-2.6.6.tar.bz2   解压缩

4.   cd Python-2.6.6 

5.   ./configure 

6.    make && make install 

自此,python2.6安装后路径默认是在/usr/local/lib/python2.6 (/usr/local/bin/python2.6 -V)
建立软连接,使系统默认的python指向python2.6
正常情况下即使python2.6安装成功后,系统默认指向的python仍然是2.4.3版本,考虑到yum是基于python2.4.3才能正常工作,不敢轻易卸载。
01.   mv /usr/bin/python  /usr/bin/python.bak  

02.   ln -s  /usr/local/bin/python2.6 /usr/bin/python  

03.   python -V   查看是否指向成功

04.   vim  /usr/bin/yum     将 #!/usr/bin/python修改为#!/usr/bin/python2.4  保存退出

2)安装PIL python 
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz  

tar zxf  Imaging-1.1.7.tar.gz   解压缩

cd Imaging-1.1.7
python setup.py install

 

ImportError: The _imagingft C module is not installed   遇到此错误 查看下面方法。

http://liuyouqian.iteye.com/blog/1319205

 


3)安装Django 1.3
wget http://www.djangoproject.com/download/1.3.1/tarball/  

tar zxf   Django-1.3.1.tar.gz

Cd   Django-1.3.1
python setup.py install

4安装setuptools
wget  http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz

tar zxf setuptools-0.6c11.tar.gz

cd setuptools-0.6c11  

python setup.py build
python setup.py install

5安装python-mysqldb
wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download
tar zxf MySQL-python-1.2.3.tar.gz

cd MySQL-python-1.2.3

#yum install python-devel mysql-devel zlib-devel openssl-devel   安装所需插件

#python setup.py build 
#python setup.py install

 

6安装virtualenv   虚拟环境工具

easy_install virtualenv

 

 

 

7)安装mysql

  1.yum install mysql mysql-server    通过yum安装 mysql 及依赖包

  2.vim /etc/my.cnf                 编辑my.cnf

      old_passwords=1  ← 找到这一行,在这一行的下面添加新的规则,

                       ← 让MySQL的默认编码为UTF-8

      default-character-set = utf8  ← 添加这一行

  然后在配置文件的文尾填加如下语句:

  [mysql]

  default-character-set = utf8

  保存退出my.cnf 

  3.chkconfig mysqld on  ← 设置MySQL服务随系统启动自启动

  4.chkconfig --list mysqld  ← 确认MySQL自启动

  mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 如果2--5on的状态就OK

 5.  /etc/rc.d/init.d/mysqld start  ← 启动MySQL服务

 6.mysql -u root  ← 用root用户登录MySQL服务器

 7. mysql> select user,host,password from mysql.user;    root 密码应该是空的

   mysql> set password for root@localhost=password('daybang2009');  ← 设置root密码

   mysql> select user,host,password from mysql.user;  ← 查看用户信息 已经有密码了

   mysql> exit     ← 退出MySQL服务器

  # mysql -u root -p   ← 通过密码用root登录

  Enter password:    ← 在这里输入密码    查看是否设置密码成功

  mysql>select user,host from mysql.user;  ← 查看用户信息

  mysql> delete from mysql.user where user='';  ← 删除匿名用户

  mysql> update mysql.user set host='%'  where user='root' and host='localhost'; 设置可以外网

  mysql> select user,host from mysql.user;  ← 查看用户信息

  mysql> flush privileges;  刷新权限表

   

mysql 添加到服务项目中

chmod +x /etc/rc.d/init.d/mysqld

chkconfig --add mysqld  

chkconfig mysqld on 

sudo /sbin/chkconfig --list mysqld

 

    

   Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.soc  此问题杀死进程

   #hostname //获得主机名

    <hostname>

    #find / -name <hostname>.err

     #vi <hostname>.err

             

  #注:重启MySQL方法

  杀死MySQL进程:killall mysqld

  重启MySQL/etc/rc.d/init.d/mysqld start

 

8.安装uwsgi 

easy_install uwsgi    

安装后目录:/usr/local/bin/uwsgi

创建日志目录

mkdir -p  /var/log/uwsgi

chmod +w /var/log/uwsgi

#更改uwsgi  使用用户

chown -R www-data:www-data /usr/local/bin/uwsgi    

运行uwsgi

/usr/local/bin/uwsgi -s:9090 -M -p 6 -d /var/log/uwsgi/uwsgi.log --vhost --pidfile /home/daibang/site/uwsgi.pid

 

/usr/bin/uwsgi -s:9090 -M -p 6 -d /home/daybang/uwsgi/uwsgi.log --vhost --pidfile /home/daybang/uwsgi/uwsgi.pid

 

/usr/local/bin/uwsgi -s:9099 -M -p 6 -d /var/log/uwsgi/wei.log --vhost -H /home/daibang/wei_env/ -w /home/daibang/wei/

--pidfile /home/daibang/wei/uwsgi.pid

 

 

9)安装 nginx 

wget http://nginx.org/download/nginx-1.3.1.tar.gz

yum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel

tar zxf  nginx-1.3.1.tar.gz

#pere 是为了让 nginx 支持正则表达式。只是准备,并不安装,是为了避免在64位系统中出现错误。

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz

tar -zxf pcre-8.30.tar.gz

 

同样只是准备,并不安装,是为了避免在64位系统中出现错误。

wget http://sourceforge.net/projects/libpng/files/zlib/1.2.6/zlib-1.2.6.tar.gz/download

tar -zxf zlib-1.2.6.tar.gz

#创建目录

mkdir -p /var/tmp/nginx    

 cd nginx-1.3.1

 

 

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=www-data --group=www-data  --with-http_ssl_module --with-http_dav_module --with-http_flv_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-pcre=../pcre-8.30 --with-zlib=../zlib-1.2.6 --with-debug --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi 

 

make && make install

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

 

/etc/init.d/nginx  然后插入以下脚本 nginx启动脚本

vim /etc/init.d/nginx

 

#!/bin/bash  

#  

#chkconfig: - 85 15  

#description: Nginx is a World Wide Web server.  

#processname: nginx  

  

nginx=/usr/local/nginx/sbin/nginx  

conf=/usr/local/nginx/conf/nginx.conf  

  

case $1 in  

       start)  

              echo -n "Starting Nginx"  

              $nginx -c $conf  

              echo " done"  

       ;;  

  

       stop)  

              echo -n "Stopping Nginx"  

              killall -9 nginx  

              echo " done"  

       ;;  

  

       test)  

              $nginx -t -c $conf  

       ;;  

  

        reload)  

              echo -n "Reloading Nginx"  

              ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP  

              echo " done"  

       ;;  

  

        restart)  

                $0 stop  

                $0 start  

       ;;  

  

       show)  

              ps -aux|grep nginx  

       ;;  

  

       *)  

              echo -n "Usage: $0 {start|restart|reload|stop|test|show}"  

       ;;  

  

esac

 

——————————————————————————

chmod +x /etc/init.d/nginx

chkconfig --add nginx  

chkconfig nginx on 

sudo /sbin/chkconfig --list nginx

nginx   0:off   1:off   2:on    3:on    4:on    5:on    6:off    #2345 on可以运行了

nginx -t来检验语法是否有问题

如正确显示如下:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

 

 

service nginx start

service nginx stop

service nginx restart

service nginx reload

 

 

首先找到/usr/local/nginx/conf/nginx.conf

在最后加上include /usr/local/nginx/sites-enabled/*.conf;

在/etc/nginx/  目录下创建  sites-enabled 文件夹

# mkdir /usr/local/nginx/sites-enabled

# mkdir /var/log/nginx

#vim /usr/local/nginx/sites-enabled/daibang.conf

 

server {

        listen   80;

        server_name  localhost;

 

        access_log  /var/log/nginx/localhost.access.log;

 

        location / {

                #root   /var/www/nginx-default;

                #index  index.html index.htm;

                include uwsgi_params;

                uwsgi_pass 127.0.0.1:9090;

                uwsgi_param UWSGI_PYHOME /home/daibang/site_env/;

                uwsgi_param UWSGI_CHDIR /home/daibang/site/daibang/;

                uwsgi_param UWSGI_SCRIPT daibang_wsgi;

                uwsgi_connect_timeout 300;

                uwsgi_send_timeout 300;

                uwsgi_read_timeout 300;

 

        }

 

        location ^~/medias {

                alias /home/daibang/site/daibang/medias;

        }

 

        location ^~/media {

                alias /home/daibang/site/daibang/media;

        }

 

        location ^~/static {

                alias /home/daibang/site/daibang/static;

        }

 

        location /doc {

                root   /usr/share;

                autoindex on;

                allow 127.0.0.1;

                deny all;

        }

 

        location /images {

                root   /usr/share;

                autoindex on;

        }

 

        location /daibang-nginx-status {

                stub_status on;

                access_log off;

        }

 

}

 

uWSGI的参数说明:
-s unix socket的方式执行uWSGI,后面跟路径.
-C 修改/tmp/uwsgi.sock的权限为666
-M 启动管理进程
-p 生成worker子进程数,-p 4 表示生成4
-t cgi程序超时时间,-t 60 表示超时60秒就丢掉
–limit-as 脚本占用最大内存,–limit-as 128表示最大为128M
-R 每个worker处理的最大请求数,-R 10000表示处理的请求最多10000
–vhost 表示启用虚拟服务器,这样就可以一个uWSGI主进程,管理多个Python站点了
-d 守护进程方式启动,-d /logs/uwsgi.log 表示指定日志文件
–pythonpath 指定Python站点的目录, –pythonpath /python_sites 表示里边放Python的站点,例如/python_sites/web_one/, /python_sites/web_two/

 

 创建虚拟环境

                virtualenv /home/daibang/site_env      创建虚拟环境

                virtualenv  --no-site-packages  /home/daibang/wei_env

                source /home/daibang/site_env/bin/activate   

                pip install django==1.3.1

                pip install mako

   pip install -r  *.txt

  deactivate  退出虚拟环境 

查看80端口是否占用:/usr/sbin/lsof -i :80
kill - 9 pid

 

重启nginx

/etc/init.d/nginx restart

 

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

 

#vitualenv supports
import site
site.addsitedir(‘/home/daibang/wei_env/lib/python2.6/site-packages/’)

 

 

 

10)安装apache  (云服务器已经自带,可直接设置开机启动)

 wget http://archive.apache.org/dist/httpd/httpd-2.4.3.tar.gz

 tar zxf  httpd-2.4.3.tar.gz

 cd  httpd-2.4.3

./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --enable-dav-fs                    编译

# make && make install      安装

 如果没有错误的话,那么Apache就已经安装在/usr/local/apache2目录中了

 

#注解:
--prefix=/usr/local/apache2
设置CentOS Apache安装目录。这里设定安装在/usr/local/apache2下,今后如果要卸载或者升级CentOS Apache时,直接删除这个目录即可。
--enable-so 指定允许DSO(动态共享对像)
--enable-rewrite=share 开启Rewrite支持,以实现URL静态化,建议开启。
--enable-dav-fs 开启WebDAV支持,svn服务器等需要。

 

注:如果安装提示:configure: error: APR not found. 安装如下3个插件

                       http://www.linuxidc.com/Linux/2012-06/62289.htm  解决方案地址

A.#wget http://apache.etoak.com//apr/apr-1.4.6.tar.gz

 1.#tar -zxf apr-1.4.6.tar.gz  

 2.#cd apr-1.4.6

 3.#./configure --prefix=/usr/local/apr      编译

 4.#make && make install

          安装apr的过程中可能会遇到

            rm: cannot remove `libtoolT': No such file or directory

           如果遇到上述情况,则vim configure 30048行 

           注释 掉$RM "$cfgfile" 重新执行.configure即可。

 

B.#wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz

 1.#tar -zxf apr-util-1.3.12.tar.gz

 2.#cd apr-util-1.3.12

 3.#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

 4.#make && make install

C.#wget  http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip 

  1.#unzip -o pcre-8.10.zip  

  2.cd pcre-8.10  

  3.#./configure --prefix=/usr/local/pcre  

  4.#make && make install


重新编译apahce 增加三个参数:

cd  httpd-2.4.3   重新进去 apache 安装目录

#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --enable-dav-fs --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util/  --with-pcre=/usr/local/pcre

# make && make install      安装

 

配置apache2: 

ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache       #创建 apache 启动脚本

Vim  /etc/rc.d/init.d/httpd                              #修改 /etc/init.d/apache

在 #!/bin/sh 下添加以下内容

#

# chkconfig: - 85 15

# description: Apache is a World Wide Web server.

# processname: httpd

 

保存退出:

添加 apache 为系统服务(开机启动)

 #chkconfig --list httpd

 #chkconfig --add httpd

 #chkconfig httpd on

 #chkconfig --list httpd   查看是否设置成功

   这个时候输出的结果:

    httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off        2-5开启

 

 

 

修改 vim /var/www/conf/httpd.conf  中的 Linster 80 

改成端口 Linster 8001

         NameVirtualHost *:8001

#管理防火墙开启端口查看:#semanage port -l|grep http

使用这个命令增加端口开启 #semanage port -a -t http_port_t -p tcp 8001

修改防火墙:vim /etc/sysconfig/iptables

重启防火墙:service iptables restart 

启动apache服务:  #/etc/rc.d/init.d/httpd start 

 

   问题::    解决httpd: Could not reliably determine the server's fully qualified domain name

         vim /var/www/conf/httpd.conf 将里面的#ServerName localhost:8001注释去掉即可。

 

 

11)安装mercurial 

    #wget  http://mercurial.selenic.com/release/mercurial-2.4.1.tar.gz

    #tar -zxf  mercurial-2.4.1.tar.gz

    #cd /mercurial-2.4.1

    #make all 

#make install-home

#hg debuginstall 

    #hg debuginstall

    提示,没有用户名,这个是需要hg的提交用户。

    源码中 contrib 文件夹下 提供了一个sample.hgrc ,拷贝到HOME下修改: 

    # cp sample.hgrc ~/.hgrc 

    类似于ini文件,修改“[ui]”下的username即可。 再次测试通过。

 

 

 

需要先安装docutils
   # wget http://prdownloads.sourceforge.net/docutils/docutils-0.7.tar.gz?download
   # tar -zxf docutils-0.7.tar.gz
   # cd docutils-0.7
   # python setup.py install   

 

 

 

   将程序目录更改用户

   chown -R www-data:www-data /home/daibang    /home/daibang 是程序目录

   chmod -R 777 site    赋予最高权限

  #将  hgweb.cgi 文件拷贝到项目目录下

  如果目录不正确hgweb.cgi 查找一下在哪里有

  cp /usr/share/doc/mercurial/examples/hgweb.cgi  /home/daibang/site

  #赋予权限

  chmod a+x hgweb.cgi

  vim hgweb.cgi 并将config项改成下面这个样子:

  config = "/home/daibang/site/hgweb.config"

  在 /home/daibang/site 目录下vim hgweb.config 下面这个样子:

  [collections]

  /home/daibang= /home/daibang

  

   

  配置apache

   vim /var/www/conf/httpd.conf

   在<VirtualHost/>前面加入:

     ScriptAlias /hg "/home/daibang/site/hgweb.cgi"

     <Location /hg>

           AuthType Basic

           AuthName "Mercurial repositories"

           AuthUserFile "/home/daibang/site/hgusers"

           Require valid-user

     </Location>

 

 

添加提交代码用户:

    htpasswd -mc hgusers zy 

这是给这个库集设定访问用户zy,回车后输入密码。除了添加第一个用户时使用-mc参数外,添加后续用户用-m

 

bash: htpasswd: command not found 解决方法

ls -l /var/www/bin/htpasswd*

PATH=${PATH}:/var/www/bin export PATH

which htpasswd

 

   如果遇到错误:

      ImportError: No module named mercurial

      Premature end of script headers: hgweb.cgi

 

    请将/home/daibang/site/hgweb.cgi第一行修改成 #!/usr/local/bin/python

 

 

 

 

11) 安装  SOAPpy
   easy_install SOAPpy

 

 

12) 安装memcached 缓存工具

 

#wget  http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz

tar -zxvf libevent-2.0.20-stable.tar.gz

    #cd libevent-2.0.20-stable

    #./configure --prefix=/usr/local/libevent/

    #make

    #make install

    接着,ls /usr/local/libevent/lib,将查看到的第一个类似libevent-X.X.so.X

    #ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /lib/libevent-2.0.so.5

    # wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz

    # tar -zxvf memcached-1.4.15.tar.gz

    # cd memcached-1.4.15

    #./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/

    #make

    #make install

    启动memcached

    #/usr/local/memcached/bin/memcached -d -m 100 -c 1000 -u root -p 11211

              启动参数说明(这是我是复制粘贴的,如有错误请指正)

              -d 选项是启动一个守护进程

              -m 是分配给Memcache使用的内存数量,单位是MB,默认64MB

              -M return error on memory exhausted (rather than removing items)

              -u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户

              -l 是监听的服务器IP地址,默认为所有网卡

              -p 是设置MemcacheTCP监听的端口,最好是1024以上的端口

              -c 选项是最大运行的并发连接数,默认是1024

              -P 是设置保存Memcachepid文件

              -f chunk size growth factor (default: 1.25)

              -I Override the size of each slab page. Adjusts max item size(1.4.2版本新增)

     设置 memcached开机启动

     [root@localhost ~]# vi /etc/rc.d/rc.local ...加入末尾

         /usr/local/bin/memcached -d -m 100 -l 127.0.0.1 -p 11211 -u root

 

   安装python插件

   easy_install python-memcached   

   

   安装 piston插件

   easy_install  django-piston

 

 

 

13) 安装 simplejson

     easy_install  simplejson




3安装 tomcat

1) 安装jdk

wget http://download.oracle.com/otn-pub/java/jdk/6u37-b06/jdk-6u37-linux-x64.bin?AuthParam=1354707184_850ffd2735c9c0d5e023511d0d2d3551

#地址有可能失效,失效后到http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html

去找下载地址

 

chmod a+x  jdk-6u37-linux-x64.bin

./jdk-6u37-linux-x64.bin  解压jdk  生成jdk1.6.0_37 文件夹  将文件夹改名 jdk1.6

 mv  jdk1.6  /usr/local/java/   将jdk文件夹移动到 usr/local/java

 

配置jdk环境变量:

    1. #vim /etc/profile       vim 修改profile文件

    在最后加上

   JAVA_HOME=/usr/local/java/jdk1.6

   PATH=$JAVA_HOME/bin:$PATH

   CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

   export JAVA_HOME

   export PATH

   export CLASSPATH

   #source /etc/profile   是配置文件生效

  #java -version  这下应该JDK就装好了,

    输入java -version 如果能显示当前jdk的版本,说明OK

 

 

要使JDK在所有的用户中使用,可以这样: (一般不用设置)

vim /etc/profile.d/java.sh 

在新的java.sh中输入以下内容: 

#set java environment 

JAVA_HOME=/usr/java/jdk-1_5_0_02 

CLASSPATH=.:JAVA_HOME/lib/tools.jar 

PATH=JAVA_HOME/bin:PATH 

export JAVA_HOME CLASSPATH PATH 

保存退出,然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh

详细出处参考:http://www.jb51.net/os/RedHat/8793.html#6667

 

 

 

2)安装tomcat 

  #wget http://labs.mop.com/apache-mirror/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz

  #tar -zxf apache-tomcat-6.0.36.tar.gz

  #mv tomcat  /usr/local/tomcat   

  增加tomcat环境变量

  vim /etc/profile 

  TOMCAT_HOME=/usr/local/tomcat 

   

  然后启动Tomcat  进入bin/目录下

  #cd  /usr/local/tomcat/bin

  #./startup.sh   启动

  #netstat -tnl  查看是否 端口启动

  修改tomcat控制台管理员密码

   vim /usr/local/tomcat/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
         <tomcat-users> 
         <role rolename="manager-gui"/>   

          <user username="daybang" password="daybang2010" roles="manager"/>
    </tomcat-users>
Tomcat的管理角色变化为manager-guimanager-scripqmanager-jmxmanager-status等,它们分别具有不同权限。

manager-gui:允许访问html图形化话界面和状态页面

manager-scripq:允许访问文本接口和状态页面

manager-jmx:允许访问jmx代理和状态页面

manager-status:指允许访问状态页面


 

 

 

 

Tomcat自启动脚本

首先为Tomcat编辑一段启动脚本,并置于/etc/rc.d/init.d目录下,让Tomcathttpd一样作为一项系统服务,并随系统自动启动。(注意配置红色字体的JDKTomcat的路径)

# vim /etc/rc.d/init.d/tomcat

#!/bin/bash
#
# Startup script for the tomcat
#
# chkconfig: 2345 90 10
# description: The Tomcat Java Application Server
#
# Source function library.
. /etc/rc.d/init.d/functions

JAVA_HOME=/usr/local/java/jdk1.6
TOMCAT_HOME=/usr/local/tomcat

export JAVA_HOME="${JAVA_HOME}"

PID_CMD="ps aux | grep 'org.apache.catalina.startup.Bootstrap' | grep -v 'grep' | grep -v '0\.0' | awk '{print \$2}'"

start(){
 if [ -z `eval ${PID_CMD}` ]; then
 echo "Starting tomcat..."
 ${TOMCAT_HOME}/bin/startup.sh
 touch /var/lock/subsys/tomcat
 else
 echo "Tomcat is already running."
 fi
}

stop(){
 if [ ! -z `eval ${PID_CMD}` ]; then
 echo "Shutting down tomcat..."
 ${TOMCAT_HOME}/bin/shutdown.sh
 until [ -z `eval ${PID_CMD}` ]; do :; done
 rm -f /var/lock/subsys/tomcat
 else
 echo "Tomcat is not running."
 fi
}

case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 stop
 start
 ;;
 status)
 ${TOMCAT_HOME}/bin/catalina.sh version
 ;;
 *)
 echo "Usage: $0 {start|stop|restart|status}"
 esac

exit 0

[root@sample ~]# chmod 755 /etc/rc.d/init.d/tomcat  ← 将启动脚本属性设置为755(使之可执行
[root@sample ~]# chkconfig --add tomcat  ← Tomcat加入到chkconfig
[root@sample ~]# chkconfig tomcat on   ← Tomcat设置为自启动
[root@sample ~]# chkconfig --list tomcat  ← 确认Tomcat服务状态
tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 确认2~5on的状态就OK
[root@sample ~]# /etc/rc.d/init.d/tomcat start  ← 启动Tomcat

以后可以用以下命令来启动/关闭/重启Tomcat
 service tomcat start
 service tomcat stop
 service tomcat restart

 

 

 

使用credit_manager 用户启动tomcat

/usr/local/tomcat/bin/shutdown.sh     停止 tomcat  

/usr/local/tomcat/bin/startup.sh    开启tomcat 


 

0 0