发表于: 2017-07-05 23:56:48
1 1120
今天完成的事情:
部署了一个简单的java运行环境(mysql,maven3.5,tomcat9,jdk1.8)
今天终于算是把这些个服务上传到服务器中进行部署了,对于我这样脑子不好使的人来说,真的是很麻烦的一件事,现在才体会到不好学习的后果这么严重呢。
.首先下载一个JDK版本,我这里下载的是jdk-8u60-linux-x64.gz 这个版本。(JDK一定要下载1.7以上的,低于1.7版本的在后续安装中不兼容,会报错!)友情链接: http://pan.baidu.com/s/1hr7q6KO 密码: 4vea
也可以自行到JDK官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2.用xftp上传到linux环境中去。上传的路径为: /usr/local
将刚才下载好的 压缩包解压,得到一个 jdk1.8.0_60 的文件夹
然后用Xftp上传至linux环境中去。有两种方式
第一种,通过功能栏红框内的“向右传输” 传过去
第二种,直接拖动文件夹,拖过去。
非常重要的一点,linux环境中的路径 是 /usr/local.....
JDK传过去之后,现在就开始着手配置JDK环境了
3.配置JDK环境,需要给予这个文件夹最高的权限,为了后续的方便,这边直接赋予最高权限
首先,通过XFTP打开Xshell(打开方式上一节有讲到)
1)切换到"/“目录下 cd ../..
2)切换到local路径下 cd /usr/local
3)赋予JDK文件最高权限 chmod 777 -R jdk1.8.0_60
4.配置JDK环境变量:
1)切换到"/“目录下 cd ../..
2) 切换到etc路径下 cd etc
3) 编辑profile文件 vi profile
4)按下键盘的 i 键,进入编辑模式
5)配置JDK的环境变量,在profile中输入如下内容(空白位置填入即可,自己选择了第一个注释框解释后添加)
export JAVA_HOME=/usr/java/jdk1.8.0_131 【特别说明:这个就是你的jdk的安装路径!!!不要弄错了!要以你自己的路径为准!】
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
6)按住键盘的ESC键,然后输入 :wq,就保存了你刚刚设置的环境变量
7)让你刚刚设置的环境变量生效 source profile
8)如何查看你的JDK是否配置完成呢?输入命令 java -version,看到下面的对应安装JDK版本的截图,就说明你配置成功了!
到此,JDK的配置就算完成了
【Tomcat】
下面来介绍下Tomcat的配置
1.首先下载 一个tomcat版本,我这里用的是apache-tomcat-6.0.37版本apache-tomcat-6.0.37.tar.gz
2.可以用XFTP 直接把已经解压的apache-tomcat-6.0.37上传到 /usr/local路径,上传完毕,然后这里就需要对环境变量进行配置,然后后面的tomcat才会顺利启动
3.配置tomcat环境变量:
1)切换到"/“目录下 cd ../..
2) 切换到etc路径下 cd etc
3) 编辑profile文件 vi profile
4)按下键盘的 i 键,进入编辑模式
5)配置tomcat的环境变量,在profile中输入如下内容(配置JDK环境变量后面添加多这行即可)
export CATALINA_HOME=/usr/java/tomcat9 【特别注意:这里就是就是配置你的tomcat的安装路径!不要弄错了!】,如下图所示:
7)编辑完毕后,按住键盘的ESC键,然后输入 :wq,就保存了你刚刚设置的tomcat环境变量
8)让你刚刚设置的环境变量生效 source profile
4.可以启动一下tomcat,看是否配置成功了:
1)切换到"/“目录下 cd ../..
2 ) 切换到启动命令所在的bin路径:cd /usr/local/apache-tomcat-6.0.37/bin
3 ) 输入tomcat 启动命令 ./startup.sh,如果遇到下面的提示,就说明你对bin文件里面的命令操作权限不够,就需要赋予权限:
4 ) 返回到bin的上级目录 cd ..
5 ) 赋予 bin文件的最高权限 chmod 777 -R bin
6 ) 切换到bin路径下 cd bin
7 ) 然后再次执行tomcat启动命令: ./startup.sh,出现如下截图,则表明启动成功。
8 ) 一般默认的端口则是8080,所以直接在你的PC端电脑的浏览器输入 你的ip地址加上端口号,即可以访问到tomcat的首页了。 http://【你的linux服务器IP地址】:8080
PS:由于我用的阿里云服务器,在服务器上有一个叫做安全组的东西,需要设置外网端口和ip访问才能正常的看到tomcat访问页面的。就算在本地linux上设置防火墙规则也不是,我的用的centOS7的防火墙命令是firewall。旧版本的是iptables。即使用命令设置开放端口仍然不能访问。!!!必须在服务器上开启端口ip访问才行
10) 但是任何配置都不会这么轻松就配置成功的,会出现防火墙关闭或者端口被占用的问题,这里我们可以切换到 tomcat下的bin 目录,执行下面这个命令,查看tomcat日志: ./catalina.sh run, 一般日志格式如下:
注:如果访问不了,可以尝试关闭防火墙,在Linux下输入命令: service iptables stop,然后再访问就可以了!
11)在浏览器输入IP地址加端口号,如果看到tomcat 的首页,则表明成功了,如下所示:
【Maven的配置】
贴个博客记录。因为和上两个都是一样的步骤,只不过前提是jdk能安装成功
1. 安装jdk
1 2 3 4 | # cd /usr/local/src/ # wget http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.tar.gz # tar -xzvf jdk-7u45-linux-x64.tar.gz # mv jdk-7u45-linux-x64 /usr/local/java |
2. 安装maven
1 2 3 | # wget http://apache.fayea.com/apache-mirror/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz # tar -xzvf apache-maven-3.1.1-bin.tar.gz # mv apache-maven-3.1.1-bin /usr/local/maven-3.1.1 |
3. 环境变量配置
如下内容加入/etc/profile
1 2 3 4 5 | export JAVA_HOME=/usr/local/java/ export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin export MAVEN_HOME=/usr/local/maven-3.1.1 export PATH=${PATH}:${MAVEN_HOME}/bin |
最后source
1 | # source /etc/profile |
4. 测试
# java -version
# mvn -v (查看到显示信息表现是配置成功)
【Mysql的配置】
1.由于我下载了新的版本的mysql,在我安装好后,调用普通的启动命令不可行。不管什么命令,反正就是启动不了。看到一篇博文说的是mysql被甲骨文收购后有闭源的风险,然后弄出了个分支,叫MariaDB的东西呢。不知道干嘛的。反正大部分命令基本都通用mysql,就是看起来很奇怪。
mysql这里其实还有好多设置,我没有设置好的。要求基本能应用先把。因为还不熟悉的这一个新的东西到底是什么。
贴一篇博文当记录
当我设置系统时,我已经在CentOS 7系统上 安装了MariaDB,它是MySQL 关系数据库管理系统(RDBMS)的一个 分支。当我使用命令检查软件的版本时 ,我看到以下内容: mysql --version
# mysql --version mysql Ver 15.1 Distrib 5.5.37-MariaDB, for Linux (x86_64) using readline 5.1
但是,当我mysql
在系统上运行命令时,我收到以下错误消息:
# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
我检查了mysqld服务是否正在运行,发现它不是。
# systemctl status mysqld.service mysqld.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead)
当我尝试启动服务时,它不会启动。
# service mysqld start Redirecting to /bin/systemctl start mysqld.service Failed to issue method call: Unit mysqld.service failed to load: No such file or directory. # systemctl start mysqld.service Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.
我检查了/etc/my.cnf
文件的内容,看到如下:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
我检查了该文件中列出的文件和目录的存在。我看到下面的结果对于位置datadir
, socket
,log-error
,和pid-file
:
# ls -ld /var/lib/mysql drwxr-xr-x. 19 mysql mysql 4096 Oct 14 23:46 /var/lib/mysql [root@localhost install]# ls -l /var/lib/mysql/mysql.sock srwxrwxrwx. 1 mysql mysql 0 Sep 29 15:05 /var/lib/mysql/mysql.sock # ls -l /var/log/mariadb/mariadb.log -rw-r-----. 1 mysql mysql 0 Oct 5 20:49 /var/log/mariadb/mariadb.log # ls -l /var/run/mariadb/mariadb.pid ls: cannot access /var/run/mariadb/mariadb.pid: No such file or directory
我没有看到任何mariadb.pid
文件,但我不希望在mysqld服务成功启动之前创建它。
当我检查目录中的includedir
文件时,我看到以下内容:
# ls -l /etc/my.cnf.d total 12 -rw-r--r--. 1 root root 295 Apr 15 2014 client.cnf -rw-r--r--. 1 root root 232 Apr 15 2014 mysql-clients.cnf -rw-r--r--. 1 root root 744 Apr 15 2014 server.cnf
所以我不知道为什么当我发出命令时,我收到“无法连接到本地MySQL服务器通过套接字”/var/lib/mysql/mysql.sock“消息,mysql
为什么我试图启动mySQL服务失败了“没有这样的文件或目录”消息。网上搜索,我发现一个帖子 danneth在 没有mysqld的或后的mysql.server MariaDB的服务器安装使用 systemctl start mariadb.service
。当我使用该命令时,我没有看到任何错误消息。我尝试systemctl startus mysqld service
发出命令后,仍然看到错误信息。但是,当我发出mysql
命令时,我收到了一个“访问被拒绝”消息,这似乎是合理的,因为当我发出命令时,我没有提供root帐户的密码。
# systemctl start mariadb.service # systemctl status mysqld service mysqld.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead) service.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead) # mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
当我使用的CentOS 5,我有MySQL的,而不是MariaDB的,我不知道我需要使用命令引用的CentOS 7系统上启动MariaDB的RDBMS服务mariadb
相当mysqld
。我假设我可以参考mysqld来启动服务。
有关创建MariaDB的历史可以在维基百科文章MySQL的历史部分找到 。在Oracle Corporation获得Sun Microsystems的MySQL软件的权限 之后,MariaDB由MySQL的共同创始人之一Michael Widenius创建 。
要使MariaDB服务在系统引导时自动启动,请发出命令systemctl enable mariadb.service
。启动服务后,还会发出命令 mysql_secure_installation
。
# mysql_secure_installation /usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ERROR 1146 (42S02) at line 1: Table 'mysql.servers' doesn't exist ... Failed! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
我把它删除了匿名帐户,因为离开它将是一个安全漏洞。同样的原因我也选择不允许远程root登录到MariaDB和测试数据库。
我将/var/lib/mysql
目录的内容从先前的CentOS 5系统的硬盘驱动器复制到新的CentOS 7系统,以便使旧系统的所有数据库都可以在新系统上使用,这似乎是因为 mysql_secure_installation
,可以找到 /usr/bin
,不接受我最初刚刚输入密码。当我在旧系统上输入MySQL的root密码时,它被接受。我终于可以得到一个提示,我可以使用该密码输入SQL命令mysql -u root -p
。
# mysql -u root -p Enter password:Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 11 Server version: 5.5.37-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]>
因此,启用和运行MariaDB的3个步骤如下,假设以前在系统的初始设置期间安装,或者yum install mariadb mariadb-server
:
systemctl start mariadb.service
systemctl enable mariadb.service
mysql_secure_installation
明天计划的事情:用maven命令执行main方法,在main方法中执行1000个循环,顺便设置一下mysql(问问师兄,是不是有这么一个事情。)
遇到的问题:1,linux安装tomcat无法显示页面的问题
已解决:在后来师兄的提醒当中,其实自己也知道的,只不过不知道找谁去问。也一直搞错。在服务器上的安全组设置上,设置一下就可以解决了
2,mysql的问题。无法用正常的启动命令去启动,反而用这个mariadb的命令去启动却能成功
3,没想到布置环境花了几天的时间,真的是好苦恼啊。进度太慢了。
收获:解决了阿里云的关于安全组配置问题(就是很大的防火墙啦)搞了三天的tomcat页面无法的问题。懂得了在阿里云服务器上有这么一个安全组的东西,专门用于开放端口访问的。可以从其他外网的ip访问到服务器。但是之前一直以为在linix中一个ifconfig的命中的ip是外网ip。导致我无论怎么都上不去,而且端口号配置也错了。所以导致我访问不到tomcat页面。这里贴张图记录一下自己的设置。
选择入网方向
授权对象即 对那些IP开放,这里设置的0.0.0.0/0的意思是任何的ip外网可访问
端口号就是设置那些特定的端口号的
知道了mysql 5.7 新版本里面有一个maridb的东西,有点多,感觉吃不消那么多东西啊。
评论