最近在将程序往linux上面部署,特此记录下部署步骤,待以后参考。
web工程部署必备软件为:JDK、tomcat、数据库软件(oracle或mysql),远程监控、上传下载必备软件:VNC、SSH。VNC可以为我们提供图形界面的远程控制,但是它在上传、下载文件上明显力不从心。SSH也是一款远程控制软件,它在上传下载上很优秀,所以在此推荐这两款软件。在此没有提FTP,是因为它在上传、下载时除了必备的几个端口外,还需开放其他的端口,这对于网络控制很严的单位,不是很实用,而且SSH的上传、下载功能很强大,故推荐使用SSH。
下面说明一下,相关软件的默认端口及下载地址:
a)安装:rpm -ivh jdk-7u25-linux-x64.rpm
b)编辑环境变量:
gedit /etc/profile
#往打开的文件中添加如下语句:
export JAVA_HOME=/usr/java/jdk-1.7.0.25
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
c)重启,使设置生效
source /etc/profile
a)解压下载下来的tomcat.tar包
b)修改tomcat端口,可以修改conf/server.xml文件
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />可修改port="8080"端口号为自己的端口号
将如下内容插入web.xml即可
<servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>enablePooling</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>fork</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>xpoweredBy</param-name> <param-value>false</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet>
d)启动、关闭tomcat,运行bin目录下面的 ./startup.sh、./shutdown.sh即可
由于当时在安装mysql之后,没有安装成功,故下文先从卸载mysql开始。
a)查找系统中是否安装mysql
rpm -qa | grep -i mysql
运行上述命令后,显示如下列表:
mysqlclient10-3.23.58-4.RHEL4.1
mysqlclient10-devel-3.23.58-4.RHEL4.1
b)根据列表一一删除
rpm -ev --nodeps mysqlclient10-3.23.58-4.RHEL4.1
rpm -ev --nodeps mysqlclient10-devel-3.23.58-4.RHEL4.1
c)删除一些残留文件
rm -f /etc/my.cnf
rm -rf /usr/var/lib/mysql
d)安装server端和client端
rpm -ivh MySQL-server-community-5.0.45-0.rhel4.i386.rpm
rpm -ivh MySQL-client-community-5.0.45-0.rhel4.i386.rpm
e)配置3306防火墙
##打开防火墙配置文件
vi /etc/sysconfig/iptables
##添加3306端口
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
重启防火墙
service iptables restart
d)往host文件添加IP
##打开hosts文件
vi /etc/hosts
##添加IP
127.0.0.1 localhost
e)修改mysql密码
##停用mysqld服务
/etc/rc.d/init.d/mysqld stop
##设置mysql登录跳过权限判断
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
##登录mysql
mysql -u root mysql
##进入mysql数据库
mysql> usr mysql;
##修改密码
mysql> UPDATE user SET Password=PASSWORD('root') where USER='root';
##使权限生效
mysql> flush privileges;
##退出
mysql> quit;
f)新建/etc/my.cnf
##如果/usr/share/mysql下面有.cnf文件,则将文件拷贝到etc下面并改名为my.cnf
cp /usr/share/mysql/*.cnf /etc/my.cnf
##如果没有则新建一个my.cnf文件,拷入如下内容
# The MySQL server [client] port = 3306 socket = /var/lib/mysql/mysql.sock character-set-server=utf8 [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M character-set-server=utf8 collation-server=utf8_general_ci init_connect='SET NAMES utf8' #mysql在linux下是区分大小写的,使其不区分大小写,添加如下语句 lower_case_table_names=1(注:上述步骤的e)、f)两部的目的是处理下面这个问题:
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock')
a) rpm -ivh vnc-server-4.1.2-9.el5.i386.rpm
b) 配置
##修改配置文件xstartup,使VNC远程以图形界面登录
gedit ~/.vnc/xstartup
##将xstartup修改为如下内容
#!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey #vncconfig -iconic & #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & gnome-session & twm &## startkde& #表示远程客户端将登陆Linux的KDE桌面(显示效果不太好)
c) 启动服务
vncserver :1
##下面为运行这个命令后出现的内容
//启动1号连接服务,会自动生成~/.vnc You will require a password to access your desktops. Password: //通过viewerv进入时,要验证的密码.* Verify: //再次输入密码* -bash: [root@localhost: command not found xauth: creating new authority file /root/.Xauthority New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1 Starting applications specified in /root/.vnc/xstartup You have new mail in /var/spool/mail/root Log file is /root/.vnc/localhost.localdomain:1.logd) 关闭服务
vncserver -kill :1
e)设置登录密码
vncpasswd
SSH服务linux系统自带了,故下面只是其的一些简单的配置
a)修改SSH端口
gedit /etc/ssh/sshd_config 将port 22修改为port 23即可
b)启动SSH服务
service sshd restart
虽然不推荐,但是也记录一下FTP的安装及配置过程
a) rpm -ivh vsftpd-2.0.5-16.el5.x86_64.rpm
b) 新建ftp用户
adduser -d /var/ftp -g ftp-s /sbin/nologin ftpadmin ##代表该账号不能登录系统,只能连接FTP
passwd ftpadmin