Ubuntu Server 安装JDK与Tomcat7和MySql

在阿里云VPS上部署一个jsp网站,系统是Ubuntu Server 12.4,安装JDK与Tomcat7和MySql。

apt-get install default-jdk
apt-get install tomcat7
apt-get install tomcat7-admin
apt-get install tomcat7-examples

当然你可以不安装示例数据“apt-get install tomcat7-examples”。

编辑/etc/tomcat7/tomcat-users.xml并加入下面的代码:






ok,执行service tomcat7 restart 重启Tomact7,并可以登陆到manager webapp 与 host-manager webapp ;如果需要修改端口例如8080改为80,执行:

vi /etc/tomcat7/server.xml

把port=”8080″改为port=”80″。

浏览“服务器地址”:8080 就可以看到tomcat 成功运行的提示信息。

“default-jdk”安装的Java在/usr/lib/jvm/default-java 所以,编辑 ~/.bashrc: 并加入下面代码:
export JAVA_HOME=/usr/lib/jvm/default-java
export CATALINA_HOME=/usr/share/tomcat7

这里解决了环境变量问题,JDK的环境变量问题,总会让大家很不爽,无论是在windows还是在linux上。

最后,jsp App放在tomcat7/webapps下。默认是放在ROOT下,这个得看自己喜好或app要求实际情况来选择。

上述安装过程如果遇到任何错误提示,请执行sudo apt-get update,或许这是一个万能的解决办法。

接下来安装MySQL 5.0 :
sudo apt-get install mysql-server

安装过程中会被提示输入MySQL的root用户密码。一旦安装完成,MySQL服务会自动启动。执行
sudo netstat -tap | grep mysql
来检查MySQL是否正在运行,如果看到:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
这段提示,那证明MySQL正在运行。如果不是,请执行重启:
sudo /etc/init.d/mysql restart

然后可以编辑 /etc/mysql/my.cnf 文件
vi /etc/mysql/my.cnf
来绑定地址,监听3306端口并允许远程访问等等。
然后重启:
sudo /etc/init.d/mysql restart

进入数据库:
mysql -h -u -p

创建一个数据库,如果已有则不需创建:
CREATE DATABASE dbname COLLATE 'utf8_general_ci';

dbname是要创建的数据库名称。
然后切换到dbname数据库
use dbname;

接着导入指定sql文件:
mysql>source /path/.../source.sql
“/path/…/”必须是你存放sql文件的路径。

允许数据库可以远程访问:
使用nestat命令查看3306端口状态
netstat -an | grep 3306
如果看到tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN这条提示则说明3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。

修改/etc/mysql/my.cnf文件
vi /etc/mysql/my.cnf 找到下面这部份内容
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
把”bind-address = 127.0.0.1“ 这段注释掉或换成合适的IP地址,然后重启并重新使用netstat检测就可以看到下面的提示:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

如果收到”Enter password:ERROR 1130 (00000): Host ‘B0324-Desktop.local’ is not allowed to connect to this MySQL server”错误提示,就还得把用户权限分配各远程用户。
登陆mysql服务器执行
grant all on database_name.* to user_name@'%' identified by 'user_password';
database_name、user_name和user_password需要设置成自己的。

还有,要注意jsp应用设置的数据库地址是否正确。

相关知识:
运行命令netstat -talnp验证3306端口是否打开
netstat -talnp;看到“tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4620/mysqld” 这条就证明打开了。
看mysql服务是否在运行:
mysqladmin -u root -p status
成功运行会看到:
Enter password:
Uptime: 4 Threads: 1 Questions: 62 Slow queries: 0 Opens: 51 Flush tables: 1 Open tables: 45 Queries per second avg: 15.500

或(这是不可靠的)
ps aux|grep mysql
查看3306端口运行的进程:
lsof -i :3306
查看防火墙是否开启3306 端口:
telnet localhost 3306
查看mysql是否在3306端口上:
mysql> show variables like 'port';

发表评论或回复

*选项为必填项,您的电子邮件地址不会被公开。

*
*