java linux 开发环境搭建_Linux- JAVA环境搭建

Linux - 搭建开发环境

工具

putty 连接服务器。

WinSCP 用于文件的上传。

一般会在/opt目录下创建 一个software目录,用来存放我们从官网下载的软件格式是.tar.gz文件,或者通过 wget+地址下载的.tar.gz文件

执行解压缩命令,这里以nginx举例 tar -zxvf nginx-1.16.0.tar.gz -C /usr/local/src/ 把源码解压到/usr/local/src/目录下;-C:指定输出目录,x:解压 v:显示解压过程 f:后跟文件名称

/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下

/opt:用户级的程序目录,可以理解为D:/software,opt有可选的意思,这里可以用于放置第三方大型软件,我这里一般用来放置.tar.gz包

/usr/src:系统级的源码目录

/usr/local/src:用户级的源码目录

1、创建文件夹自定义(-m)权限: mkdir -m 777 目录名

2、移动文件:mv 源目录 文件 目标目录 (单个)移动所有文件: mv 源目录/* 目标目录

3、解压缩文件: tar -zxvf /usr/local/java(原目录) -C(注意:需要大写) /usr/local/java (目标目录)

#1、*.tar 用 tar –xvf 解压

#2、*.gz 用 gzip -d或者gunzip 解压

#3、*.tar.gz和*.tgz 用 tar –xzf 解压

#4、*.bz2 用 bzip2 -d或者用bunzip2 解压

#5、*.tar.bz2用tar –xjf 解压

#6、*.Z 用 uncompress 解压

#7、*.tar.Z 用tar –xZf 解压

#8、*.rar 用 unrar e解压

#9、*.zip 用 unzip 解压

4、linux查看文件夹大小

#查看磁盘使用情况

df -h

# 查看当前一级目录文件大小

du -h --max-depth=1

# 查看当前目录所以文件的大小。

du -sh *

# 查看系统分区情况。

fdisk -l

#查看linux服务器上有几块磁盘

lsblk # 默认是树形方式显示:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

vda 253:0 0 60G 0 disk

└─vda1 253:1 0 60G 0 part /

vdb 253:16 0 26G 0 disk /disk2283

# 目录列表含义

NAME : 这是块设备名。

MAJ:MIN : 本栏显示主要和次要设备号。

RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。

SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。

RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。

MOUNTPOINT : 本栏指出设备挂载的挂载点。

# mount挂载文件 [-t 文件系统 ] [-o 选项] 设备 目录

Linux配置开发环境

安装jdk

# 配置环境

tar -zxvf jdk-8u161-linux-x64.tar.gz

mv jdk1.8.0_161 /usr/local/java

vim etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_161

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export  PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile   #让刚设置的环境生效

java -version

安装tomcat

tar -zxvf apache-tomcat-8.5.50.tar.gz

mv apache-tomcat-8.5.50 ../../usr/local/

#注意: 启动tomcat一定要写成 ./startup.sh,而不是 startup.sh,运行其它二进制的程序也一样。

#直接写 startup.sh,linux 系统会去 PATH 里寻找有没有叫 startup.sh 的,

#而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,

#你的当前目录通常不在 PATH 里,所以写成 startup.sh 是会找不到命令的,要用 ./startup.sh 告诉系统说,就在当前目录找。

ps -ef|grep tomcat #查看tomcat是否正常启动。

netstat -an|grep 80 #命令查看是否有程序占用80端口

# 查看到系统总的内存

free -h #或者 top ,单位:KB , free -g 单位:GB

# 内存列表意思

total #总物理内存

used #已经使用的物理内存

free #没有使用过的物理内存

shared #多进程共享内存

buff/cache #读写缓存内存,这部分内存是当空闲来用的,当free内存不足时,linux内核会将此内存释放

available #还可以被 应用程序 使用的物理内存

# Linux,在/usr/local/tomcat-8.5.50/bin/catalina.sh里 修改JVM内存大小:

# 要添加在catalina.sh 里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.

# 给tomcat配一下JVM的内存。初始内存1024m,最大2048m

JAVA_OPTS="-Xms1024m -Xmx4096m" --后面用默认的

# 参数总结

(1)-Xms,jvm启动时,初始分配的堆/栈内存

(2)-Xmx,JVM最大允许分配的堆/栈内存,按需分配

(3)-Xss,设定每个线程的堆栈大小

(4)-XX:PermSize,JVM初始分配的非堆内存

(5)-XX:MaxPermSize,JVM最大允许分配的非堆内存,按需分配

#查看tomcat启动日志

#先切换到:cd usr/local/tomcat5/logs

tail -f catalina.out #或者指定查多少行:tail -200 catalina.out

安装mysql5.7.28

# 安装步骤参考:https://www.cnblogs.com/wendy-0901/p/12673705.html

#把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

#如果执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误. 说明有多个ROOT用户纪录在USER表中了.

#查看一下host是否已经有了%这个值,有了就可以了.

#select host from user where user = 'root';

#select host,user from user where user='root';

#mysql服务启动,停止,重启

service mysql start

service mysql stop

service mysql restart

root pwd:123456

# 配置mysql环境变量

vim /etc/profile

export MYSQL_HOME=/usr/local/mysql-5.7.28

export PATH=${MYSQL_HOME}/bin:${JAVA_HOME}/bin:$PATH

:wq

source /etc/profile

# 配置好之后就可以直接访问,不用到mysql-5.7.28/bin目录下

mysql -uroot -p

安装nginx

在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。

# 1、配置nginx安装所需的环境

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

#nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http)

yum install -y openssl openssl-devel

# 2、解压完进入cd /usr/local/nginx-1.16.1

# 进行配置,推荐使用默认配置

./configure

# 3、编译安装nginx,在当前目录(/usr/local/nginx-1.16.1)进行编译

make

make install

# 安装成功,返回上一级目录,就会发现多了nginx目录!

# 4、启动nginx

# 进入nginx: /usr/local/nginx/sbin

./nginx

# 查看nginx安装的目录 whereis nginx

# 5、查看nginx 的状态: 出现master 则启动成功!

ps -ef | grep nginx   or  ps aux|grep nginx

# 6、关闭nginx

kill  -9  8725(进程号)

pkill -9 nginx# 停止所有进程

# 7、停止、重启nginx服务

./nginx -s stop

./nginx -s reload

# 8、设置nginx开机启动,只需在rc.local增加启动代码即可

vim /etc/rc.local

#在底部增加

/usr/local/nginx/sbin/nginx

#此外,进入/usr/local/nginx/conf目录

#可修改nginx的配置文件 -> vim nginx.conf ,如:修改域名以及端口等

#pstree以树状显示正在运行的进程。

pstree

nginx安装SSL模块

# 进入nginx安装目录:

cd /usr/local/nginx-1.16.1

# 添加ssl模块

./configure --prefix=/usr/local/nginx --with-http_ssl_module

# 执行make

make

# 执行make install 检查

make install

# 备份旧的nginx程序

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx2.bak

# 然后将刚刚编译好的nginx覆盖掉原有的nginx(nginx要停止状态)

# 关闭nginx

nginx -s stop

# 把新的nginx程序覆盖旧的

cp objs/nginx /usr/local/nginx/sbin/nginx

# 测试新的nginx程序是否正确

/usr/local/nginx/sbin/nginx -t

# 查看ngixn版本极其编译参数

/usr/local/nginx/sbin/nginx -V

# 配置nginx.conf文件

# 显示已经配置了ssl模块,说明SSL安装成功!

# 重启,执行

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

配置nginx.conf文件

#user nobody;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid       logs/nginx.pid;

events {

use epoll;

worker_connections 65536;

multi_accept on;

}

http {

server_tokens off;

include       mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '

#                 '$status $body_bytes_sent "$http_referer" '

#                 '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile       on;

#tcp_nopush     on;

#keepalive_timeout 0;

keepalive_timeout 65;

client_header_timeout 60;

client_body_timeout 60;

reset_timedout_connection on;

send_timeout 120;

proxy_connect_timeout 5;

gzip on;

gzip_disable "msie6";

gzip_proxied any;

gzip_min_length 1000;

gzip_comp_level 6;

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# 映射到相应tomcat里

upstream tomcats8080 {

ip_hash;

server localhost:8080;

}

server {

listen 80; # 端口

server_name xxx;#域名

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

proxy_redirect off;

proxy_set_header Host $host:80;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://tomcats8080;

client_max_body_size 50m;

proxy_buffering off;

proxy_connect_timeout 60;

proxy_send_timeout 120;

proxy_read_timeout 120;

proxy_temp_file_write_size 256m;

proxy_max_temp_file_size 128m;}

#error_page 404             /404.html;

# redirect server error pages to the static page /50x.html

#

error_page   500 502 503 504 /50x.html;

location = /50x.html {

root   html;

}

}

server {

listen 443 ssl;

server_name zodiacal.cn;

#ssl on;

ssl_certificate 1_zodiacal.cn_bundle.crt;

ssl_certificate_key 2_zodiacal.cn.key;

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置

ssl_prefer_server_ciphers on;

location / {

proxy_redirect off;

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://tomcats8083;

proxy_connect_timeout 60;

proxy_send_timeout 120;

proxy_read_timeout 120;

proxy_temp_file_write_size 256m;

proxy_max_temp_file_size 128m;

expires 10s;

}

}

}

需要关闭防火墙才可访问!

centos7 Failed to start iptables.service: Unit not found 防火墙

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

# 添加

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

# 开启防火墙

systemctl start firewalld.service

# 关闭防火墙

systemctl stop firewalld.service

# 查看运行状态

firewall-cmd --state //running 表示运行

收工!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值