centos搭建java web服务器
1、安装jdk7
//检查jdk是否已经安装
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum list installed | grep java
java-1.7.-openjdk.x86_64
java-1.7.-openjdk-demo.x86_64
java-1.7.-openjdk-devel.x86_64
java-1.7.-openjdk-javadoc.noarch
java-1.7.-openjdk-src.x86_64
tzdata-java.noarch 2017c-.el6 @updates //卸载现有的jdk
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum -y remove java-1.7.* //查看yum库中的Java安装包
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum -C list java* ...
java-1.7.-openjdk.x86_64 :1.7.0.151-2.6.11.0.el6_9 updates
java-1.7.-openjdk-demo.x86_64 :1.7.0.151-2.6.11.0.el6_9 updates
java-1.7.-openjdk-devel.x86_64 :1.7.0.151-2.6.11.0.el6_9 updates
java-1.7.-openjdk-javadoc.noarch :1.7.0.151-2.6.11.0.el6_9 updates
... //安装jdk7
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum -y install java-1.7.* //安装成功
[root@iZwz9catu2mrq92b07d1d0Z ~]# java -version
java version "1.7.0_151"
OpenJDK Runtime Environment (rhel-2.6.11.0.el6_9-x86_64 u151-b00)
OpenJDK -Bit Server VM (build 24.151-b00, mixed mode)
2、安装tomcat7
//从官网下载tomcat7
[cjh@iZwz9catu2mrq92b07d1d0Z ~]$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.82/bin/apache-tomcat-7.0.82.tar.gz //检查压缩包文件
[cjh@iZwz9catu2mrq92b07d1d0Z ~]$ tar -ztvf apache-tomcat-7.0..tar.gz //解压
[cjh@iZwz9catu2mrq92b07d1d0Z ~]$ tar -zxvf apache-tomcat-7.0..tar.gz [cjh@iZwz9catu2mrq92b07d1d0Z ~]$ ls
apache-tomcat-7.0. apache-tomcat-7.0..tar.gz
注:当我们尝试启动tomcat时可能会遇到启动非常慢的情况,并且在启动日志中会看到类似以下的信息
<DATE> org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [] milliseconds.
关于本问题请参考官方文章末尾有说明 官方说明
问题说明:
Tomcat 7+ heavily relies on SecureRandom class to provide random values for its session ids and in other places. Depending on your JRE it can cause delays during startup if entropy source that is used to initialize SecureRandom is short of entropy
译:tomcat7+严重依赖SecureRandom类为会话ids和其它地方提供的随机值,这会导致启动过程出现延迟。
解决办法:
There is a way to configure JRE to use a non-blocking entropy source by setting the following system property: -Djava.security.egd=file:/dev/./urandom
译:添加jvm参数 -Djava.security.egd=file:/dev/./urandom
[cjh@iZwz9catu2mrq92b07d1d0Z bin]$ pwd
/home/cjh/apache-tomcat-7.0./bin //在开头注释后面添加参数
[cjh@iZwz9catu2mrq92b07d1d0Z bin]$ vi catalina.sh ...
JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"
... //查看jvm运行参数,参数已添加
[cjh@iZwz9catu2mrq92b07d1d0Z bin]$ jps -v
... //重新运行tomcat,查看启动日志,启动耗时正常
...
3、安装反向代理nginx
//安装nginx
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum -y install nginx //安装完成后查看配置文件路径
[root@iZwz9catu2mrq92b07d1d0Z ~]# whereis nginx //检查配置文件内容,可以发现包含了另一个路径下的配置文件组
[root@iZwz9catu2mrq92b07d1d0Z ~]# cat /etc/nginx/nginx.conf ...
include /etc/nginx/conf.d/*.conf;
... //切换路径,检查文件组
[root@iZwz9catu2mrq92b07d1d0Z ~]# cd /etc/nginx/conf.d/
[root@iZwz9catu2mrq92b07d1d0Z conf.d]# ls -l | grep .conf
-rw-r--r-- root root Nov : default.conf
-rw-r--r-- root root Oct ssl.conf
-rw-r--r-- root root Oct virtual.conf //修改default.conf
[root@iZwz9catu2mrq92b07d1d0Z conf.d]# vi default.conf ...
listen 端口号;
server_name 域名/ip;
... //启动nginx
[root@iZwz9catu2mrq92b07d1d0Z conf.d]# chkconfig nginx on
[root@iZwz9catu2mrq92b07d1d0Z conf.d]# service nginx start //在浏览器上访问域名或ip,显示nginx的欢迎页面即配置成功
ps:nginx访问日志的默认路径:/var/log/nginx,yum源http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
4、安装MySQL
下载官方yum库
https://dev.mysql.com/downloads/repo/yum/
安装说明
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
//下载MySQL Yum库
[root@iZwz9catu2mrq92b07d1d0Z ~]# wget https://repo.mysql.com/mysql57-community-release-el6-10.noarch.rpm //安装yum库,yum库地址 /etc/yum.repos.d
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum -y localinstall mysql57-community-release-el6-.noarch.rpm //检查库安装成功,默认已开启子库mysql57-community
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum -C repolist enabled //安装MySQL5.7
[root@iZwz9catu2mrq92b07d1d0Z ~]# yum -y install mysql-community-server //启动服务
[root@iZwz9catu2mrq92b07d1d0Z yum.repos.d]# chkconfig mysqld on
[root@iZwz9catu2mrq92b07d1d0Z ~]# service mysqld start
Initializing MySQL database: [ OK ]
Starting mysqld: [ OK ]
注意点1:
- 不同版本的os对应的yum库是不一样的,el后面的数字6代表的是系统6,数字11代表的是系列版本,可自行到https://repo.mysql.com/进行选择
- centos7因为放弃了MySQL,而改用MariaDB,所以应先卸载MariaDB再安装MySQL,下面附上处理方式。
//查看
[root@localhost project]# rpm -qa | grep mariadb
mariadb-libs-5.5.-.el7.x86_64 //强行卸载
[root@localhost project]# rpm -e --nodeps mariadb-libs-5.5.-.el7.x86_64 //另外附上卸载yum库的代码
[root@localhost project]# rpm -qa|grep mysql
mysql57-community-release-el7-.noarch [root@localhost project]# yum remove mysql57-community-release-el7-.noarch
注意点2:服务在初次启动时会进行初始化(仅5.7),超级用户会被创建,并且它的密码已被设置并存储在/var/log/mysqld.log,而非空
A superuser account
'root'@'localhost'
is created. A password for the superuser is set and stored in the error log file. To reveal it, use the following command:
//x值为数据库用户root的密码
[root@iZwz9catu2mrq92b07d1d0Z ~]# cat /var/log/mysqld.log | grep password
--22T14::.638229Z [Note] A temporary password is generated for root@localhost: x //进入成功
[root@iZwz9catu2mrq92b07d1d0Z ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
... //因为初次操作数据库时提示必须重置密码,附上密码修改方法
mysql> set password = 'your password';
注意点3:Expression #1 of ORDER BY clause is not in SELECT list
问题的原因在与MySQL5.7以上提供了的一个检查GROUP BY合法性的sql_mode:ONLY_FULL_GROUP_BY,详细官方说明请看这里:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by
解决方法:
//打开my.cnf,去掉ONLY_FULL_GROUP_BY,如果文件里面没有sql_mode,可执行 select @@global.sql_mode 进行查询 vi /etc/my.cnf [mysqld] sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # service mysqld stop # service mysqld start
转载请注明出处:http://www.cnblogs.com/cjh-notes/p/7868262.html
centos搭建java web服务器的更多相关文章
- Linux 搭建Java web服务器
未经允许,不得转载 1.jdk的下载与配置 1.1下载 sudo wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45- ...
- Ubuntu server搭建Java web服务器
1. 在Ubuntu server中安装ssh,如果是购买服务器的话,这已经是安装的了,包括vim 获取超级权限 先更新安装包 开始安装ssh ssh已经启动了 2. 安装Xshell并创建连接安装X ...
- Centos + nginx + JBOSS AS 7 搭建Java web application
最近做了一个Java的web app,一直想在Centos环境中搭建一个完整的web服务器,现在开始动手. 先说说环境: 操作系统: Centos 6.3 WEB服务器: nginx-1.2.5 Ap ...
- CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK
对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此 ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 使用MyEclipse搭建java Web项目开发
转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...
- 使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
- 如何搭建一个WEB服务器项目(二)—— 对数据库表进行基本的增删改查操作
使用HibernateTemplate进行增删改查操作 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出 ...
随机推荐
- PyCharm 2017 免费 破解 注册 激活 教程(附 License Server 地址)(Python 编辑器 IDE 推荐)
许多朋友都在问如何破解 PyCharm 2017 Professional 专业版,咪博士对此是坚决反对的! 不到万不得已,请不要这样做.破解之前,请拖到文章末尾,思考几个问题,想明白你确实需要这样做 ...
- HTML配色工具!在线配色工具
url地址: https://color.adobe.com/zh/create/color-wheel/ 编者前语: 很多刚开始编写网页的菜鸟,都不知道怎么搭配色彩,刚开始的时候,我也是这样的. ...
- [Java Web 第一个项目]客户关系处理系统(CRM)项目总结
一.table的应用: 1.表格的常用属性 基本属性有:width(宽度).height(高度).border(边框值).cellspacing(表格的内宽,即表格与tr之间的间隔).cellpadd ...
- Windows下MongoDB常用命令
以下命令中的启动与暂停服务命令需要使用管理员身份运行cmd.exe,其他命令需要先cd到Mongodb安装目录的bin目录. 1.启动服务:net start [Mongodb服务名].示例: net ...
- Visual Studio中让一个JS文件智能提示另一个JS文件中的成员
当一个Web页面引用了两个JS文件(假如分别叫common.js和JScript1.js),如果JScript1.js中需要调用大量的common.js中的方法,这时候在JScript1.js中智能提 ...
- LeetCode 346. Moving Average from Data Stream (数据流动中的移动平均值)$
Given a stream of integers and a window size, calculate the moving average of all integers in the sl ...
- 在你的网站实现qq登陆(php)
这个qq的oauth2.1有个坑,坑了我半天,后来查了不少资料总算弄通了,现在把详细步骤记录下来. 步骤一.登陆http://connect.qq.com/ 步骤二.创建应用.我创建的是wen ...
- 原生JS实现Ajax及Ajax的跨域请求
前 言 如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. ...
- CentOs6.8 hadoop集群搭建过程中的问题
1.Error: Java heap space 网上有很多说是java虚拟机内存不够的,我也试着修改内存大小,但是没起作用,后来发现是文件在传输过程中失真.文件在上传到HDFS后变成乱码,重新上传文 ...
- 简单了解split()函数的性质
当分割的字符在字符串中间时,分割字符前面为一部分,后面为一部分.如: st='abccd' print(st.split('b')) 输出为:['a', 'ccd'] 当分隔符在字符串最前面或最后面时 ...