linux安装JavaWeb环境与注意事项

linux搭建JavaWeb环境分为三个步骤(jdk+tomcat+mysql)

1.第一步安装jdk

首先安装jdk时候要注意,必须联网先安装依赖程序

yum install glibc.i686(jdk依赖程序)(glibc.x86_64)

yum install gcc-c++(mysql依赖程序)

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6(mysql依赖程序)

yum update libstdc++-4.4.7-4.el6.x86_64  (mysql依赖检查更新)

然后通过ftp工具从本地发送一个jdk  Linux安装包到home目录

jdk-8u181-linux-i586.tar.gz

解压执行命令到指定的文件夹/usr/jdk8/

tar -zxvf  jdk-8u181-linux-i586.tar.gz  -C  /usr/jdk8/

解压之后就是陪环境变量了

vi /etc/profile

在最后面加上

#set java environment

JAVA_HOME=/usr/jdk8/jdk1.8.0_181

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

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

重新加载环境变量

source /etc/profile

 

然后在任意的目录下输入java与javac运行会出现一大串的东西,就表示安装成功了

2.第二步安装tomcat

上传tomcat8到linux上的home文件夹,然后进行解压到指定目录

apache-tomcat-8.5.34.tar.gz

tar -zxvf apache-tomcat-8.5.34.tar.gz  -C /usr/tomcat8/

设置防火墙

开放8080端口

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

保存配置

/etc/rc.d/init.d/iptables save

启动tomcat

startup.sh

关闭tomcat

shutdown.sh

3.第三步安装mysql

上传mysql客户端,与服务端到Linux上

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

yum  update libstdc++-4.4.7-4.el6.x86_64

上面的依赖程序

安装服务端

rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm

安装客户端

rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm

启动MySQL服务

service mysql start

/usr/bin/mysqladmin -u root password '123456'

设置开机自动启动mysql:

加入到系统服务:

chkconfig --add mysql

自动启动:

chkconfig mysql on

开启远程服务

登录mysql:

//赋予root用户所有权限,远程登录密码是123456

grant all privileges on *.* to 'root' @'%' identified by '123456';

flush privileges;

设置Linux防火墙

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save

 

好了基本步骤就是这个样子

里面遇到的具体问题要具体分析,找到合适的方法就可以了

 

如果服务器端安装出了问题

可以试试加上这个依赖

 yum install -y perl-Module-Install.noarch

 

常见的错误:

MySQL启动出现The server quit without updating PID file错误解决办法

解决办法其实很简单:

将 /etc/mysql 下的 my.cnf 文件删除,再次启动MySQL服务

当前目录下启动

./startup.sh

永久开启防火墙(对于高版本Linux系统,上面的保存配置文件不存在,就可以用这种方法,永久设置)

输入命令:

firewall-cmd --zone=public --add-port=8080/tcp --permanent

进行8080端口开放配置;

命令解析:

--zone #作用域

--add-port=8080/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数设置,重启后会失效。

 重启防火墙,输入命令:

firewall-cmd --reload

查看tomcat占用的进程号

ps -ef|grep tomcat

根据进程号,查看进程所占用的端口

netstat -apn

提示错误:Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies

错误原因:这是由于yum安装了旧版本的GPG keys造成的

解决办法:后面加上--force --nodeps

一、mysql登录错误

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: YES)'

解决办法:破解mysql密码

1>停止mysql服务:service mysqld stop

2>执行命令:> mysqld_safe --skip-grant-tables & mysql -uroot -p 回车进入

            > use mysql;

            > update user set password=PASSWORD("newpass")where user="root";

          更改密码为 newpass

            > flush privileges; 更新权限

            > quit 退出

3>重启mysql服务:service mysqld restart

4>链接数据库:mysql -uroot -p 新密码

二,忘记本地root的登录密码码

解决过程:

1、编辑/etc/my.cnf

在[mysqld] 配置部分添加一行

skip-grant-tables

2、保存后重启mysql

[root@localhost etc]# service mysqld restart
3、登录数据库重新设置root密码

[root@localhost ~]# mysql -uroot -p mysql
       Enter password:

直接回车进入

mysql> show databases;
      执行下列语句
      mysql> update user set password=password("mysql") where user='root';
      mysql> flush privileges;

4、删除/etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql;

用新设的密码就能正常登录了;

 

MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决

mysql>  SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)

mysql> create database roger;
Query OK, 1 row affected (0.00 sec)

也就是用mysql>  SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!

 

 

开启mysql的远程访问权限
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法

1、登陆mysql

mysql -u root -p

2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。

mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;

防火墙开放3306端口

1、打开防火墙配置文件    

vi  /etc/sysconfig/iptables

2、增加下面一行    

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3、重启防火墙

service  iptables restart

注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前

 

 1 # Firewall configuration written by system-config-firewall
 2 # Manual customization of this file is not recommended.
 3 *filter
 4 :INPUT ACCEPT [0:0]
 5 :FORWARD ACCEPT [0:0]
 6 :OUTPUT ACCEPT [0:0]
 7 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 8 -A INPUT -p icmp -j ACCEPT
 9 -A INPUT -i lo -j ACCEPT
10 -A INPUT -i eth0 -j ACCEPT
11 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
12 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
13 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
14 -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
15 -A FORWARD -p icmp -j ACCEPT
16 -A FORWARD -i lo -j ACCEPT
17 -A FORWARD -i eth0 -j ACCEPT
18 -A INPUT -j REJECT --reject-with icmp-host-prohibited
19 -A FORWARD -j REJECT --reject-with icmp-host-prohibited
20 COMMIT






service iptables save
//将规则保存在/etc/sysconfig/iptables文件里
service iptables restart
//重启Iptables服务

CentOS防火墙在虚拟机的CENTOS装好APACHE不能用,郁闷,解决方法如下

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

然后保存: 

/etc/rc.d/init.d/iptables save

centos 5.3,5.4以上的版本需要用 
service iptables save 
来实现保存到配置文件。 
这样重启计算机后,CentOS防火墙默认已经开放了80和22端口。 
命令行的话是,/etc/rc.d/init.d/iptables save保存

vi修改的话,执行service iptables restart

重启防火墙即可保存。

 

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,

如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。
实际命令如下:

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 

重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

     快捷方式

  • 命令ln-s源目录目标快捷方式比如你要在目录/etc/www下面,建立/usr/share/phpmyadmin文件夹(或文件)的快捷方式,如下ln-s/usr/share/phpmyadmin/etc/www
  • 命令 
    ln -s 源目录 目标快捷方式 

    比如你要在目录/etc/www下面,建立/usr/share/phpmyadmin文件夹(或文件)的快捷方式,如

    ln -s /usr/share/phpmyadmin /etc/www 

 

 

 

猜你喜欢

转载自blog.csdn.net/z_ssyy/article/details/82726281