Java开发环境搭建——CentOS配置
Posted 博观约取 厚积薄发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java开发环境搭建——CentOS配置相关的知识,希望对你有一定的参考价值。
注:环境为CentOS 7
- 普通用户添加到sudoers
- u切换到root
- visudo进入编辑,找到root ALL=(ALL) ALL,在后面加上
myusername ALL=(ALL) ALL
- 配置网络
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改
ONBOOT=yes
BOOTPROTO=dhcp
然后/etc/init.d/network restart或者ifconfig eth0 192.168.1.100/24 up使配置文件生效
查看网络情况:ip addr
查询公网IP:curl ifconfig.me
查询上网网关:tracepath cnblogs.com
如果想使用ifconfig,需要yum install net-tools - 访问windows共享文件夹
yum install cifs-utils.x86_64 (参考:http://blog.csdn.net/yasi_xi/article/details/38356247)
mount -t cifs //192.168.1.103/share/yasi /mnt/win -o username="user",password="pass"
(不记得是否需要yum install samba-client了)
(原本是想通过这个方式传文件的,安装sun jdk需要下载安装包,浏览网页、找安装包、下载安装包还是windows方便。
后来找到了更好的传文件方式:ssh) - ssh传文件
注:我这里的CentOS是虚拟机,网络设置为NAT,所以需要配置一下端口映射(我是将ssh的端口22映射到本机的9922)- ssh连接CentOS
ssh -p 9922 myname@远程主机IP或域名 - 查看远程主机文件
ssh myname@远程主机IP或域名 -p9922 command ls "/" - 下载远程主机的文件
scp -P9922 myname@1.1.1.1:~/hello.txt ./
下载整个文件夹
scp -P9922 myname@1.1.1.1:~/dir/* ./targetdir/ - 上传文件到远程主机
scp -P9922 hello.txt myname@1.1.1.1:~
scp -P9922 hello.txt myname@1.1.1.1:/home/tom
scp -P9922 -r ./ myname@1.1.1.1:~/xxxdir/ #拷贝整个当前文件夹用-r - ssh连接缓慢解决:
vi /etc/ssh/sshd_config
关闭 SSH 的 DNS 反解析:UseDNS no
service sshd restart生效
- ssh连接CentOS
- FileZilla传文件,免除命令行的麻烦
- 安装jdk
- 去Oracle官网下载rpm包
- 将文件传到远程主机
- yum install jdk-xxx.rpm
- 安装tomcat参考:http://blog.csdn.net/fwj380891124/article/details/41458727
- 查看tomcat启动日志:tail -f /usr/local/tomcat/logs/catalina.out
tail -f -n40 -s2 catalina.out 读取最后40行,每2s刷新
-f 循环读取
(详细)
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 - 修改机器名
- hostname <hostname>
- hostnamectl set-hostname <hostname>
- 安装mysql https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
- 查看mysql端口
show variables; - CentOS 7的默认防火墙为firewall,安装mysql后默认3306端口是未开启的,需要使用firewall-cmd命令来进行修改
# 永久开放mysql的端口(临时不用加permanent) firewall-cmd --add-service=mysql --permanent # 永久关闭mysql的端口 firewall-cmd --remove-service=mysql --permanent # 重启防火墙以生效 systemctl restart firewalld # 查看端口状态 iptables -L -n | grep 3306
(参考)
- Host \'xxx\' is not allowed to connect to this MySQL server
grant all privileges on *.* to \'root\'@\'%\' identified by "you password"; -- 不指定ip
grant all privileges on *.* to \'root\'@\'192.168.25.1\' identified by "you password"; -- 授权到指定ip,用指定密码可以访问
注:不同的主机登录同一个账户都可以设置成不同的密码(参考) - 查看mysql数据文件物理位置:show global variables like \'%datadir%\'
- windows下叫my.ini,在linux下位于/etc/my.cnf
- 配置主从,参考
CREATE USER repl;
GRANT REPLICATION SLAVE ON *.* TO \'repl\'@\'192.168.0.%\' IDENTIFIED BY \'pwd\';
SHOW SLAVE STATUS; SHOW MASTER STATUS; change master to master_host=\'1.2.1.1\', master_port=3306, master_user=\'repl\', master_password=\'pwd\', master_log_file=\'master-bin.000001\', master_log_pos=0;
START SLAVE;
- 查看mysql端口
- kill命令
kill发送一个信号到进程,默认是SIGTERM
kill -9 pid 发送的信息号是SIGKILL,即exit,exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。 - more和less用法
- ps -ef和ps -aux
- tomcat配置
- jvm参数配置
(阅读:Tomcat中JVM内存溢出及合理配置) - ~
- jvm参数配置
- 遇到tomcat进程自动死掉的问题,找了一下看到“有可能被linux系统本身kill掉了,查看一下,/var/log/messages还有/var/log/dmesg是否有kill相关信息”,果然在/var/log/messages里看到了因为outofmemory被linux杀掉。
错误类似:
[11686.043641] Out of memory: Kill process 2603 (flasherav) score 761 or sacrifice child [11686.043647] Killed process 2603 (flasherav) total-vm:1498536kB, anon-rss:721784kB, file-rss:4228kB
AND: Linux建立在一些守护进程之上。这些守护进程被几个看起来糟透了的内核任务看管。所有现代Linux内核都内置了一个被称为“内存不足杀手”的机制,它在内存不足的情况下会杀掉用户进程。当检测到内存不足时,杀手会被激活并选择一个进程杀死。选择机制是用启发式算法对所有进程进行打分,最后选择得分最低的进程杀死。
拓展阅读:内存不足:杀死进程还是牺牲子进程 Understanding the Linux oom-killer\'s logs - 通过JMX远程监控tomcat:visualvm监控tomcat
- Linux文件删除,但是df之后磁盘空间没有释放
- To be continued~
以上是关于Java开发环境搭建——CentOS配置的主要内容,如果未能解决你的问题,请参考以下文章