Linux的Java开发环境搭建及部署

一 : Linux下查看字符集

 

第一种 :

[root@Testa-www tmp]# echo $LANG

zh_CN.UTF-8

第二种 :

[root@Testa-www ~]# export |grep LANG

declare -x LANG="zh_CN.UTF-8

第三种:

[root@Testa-www ~]# env |grep LANG

LANG=zh_CN.UTF-8

第四种:

[root@Testa-www ~]# locale

LANG=zh_CN.UTF-8

LC_CTYPE="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_MESSAGES="zh_CN.UTF-8"

LC_PAPER="zh_CN.UTF-8"

LC_NAME="zh_CN.UTF-8"

LC_ADDRESS="zh_CN.UTF-8"

LC_TELEPHONE="zh_CN.UTF-8"

LC_MEASUREMENT="zh_CN.UTF-8"

LC_IDENTIFICATION="zh_CN.UTF-8"

LC_ALL=

二:修改字符集的方式

需注意的是:如果默认语言是en_US.UTF-8,在Linux的字符和图形界面下都是无法显示和输入中文的。如果默认语言是中文,比如zh_CN.GB18030 或者zh_CN.gb2312,字符界面无法显示和输入,图形界面可以。 

修改的方式有如下两种:

1、直接设置变量的方式修改

export LANG=zh_CN.UTF-8

2、修改文件方式,通过修改/etc/sysconfig/i18n文件控制

[root@Testa-www ~]# vim /etc/sysconfig/i18n

LANG="zh_CN.UTF-8"

[root@Testa-www ~]# source /etc/sysconfig/i18n  

三:Linux的概述和常用命令

常用命令

     

   1-切换路径

cd app	切换到app目录 
cd ..	切换到上一层目录 
cd /    切换到系统根目录
cd ~	切换到用户主目录 
cd -	切换到上一个所在目录

 2 - 列出文件列表

* ls

* ls -a 显示所有文件或目录(包含隐藏的文件)

* ls -l 缩写成ll

 3- 创建目录和移除目录

mkdir(make directory)命令可用来创建子目录。 
mkdir app    在当前目录下创建app目录 
mkdir –p app2/test   级联创建aap2以及test目
rmdir(remove directory)命令可用来删除“空”的子目录: 
rmdir app    删除app目录 

4- 浏览文件

格式:cat[参数]<文件名>
* cat yum.conf 
 

more 一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。

回车显示下一行内容。

按 q 键退出查看。

* more yum.conf

* 空格显示下一页数据 回车显示下一行的数据

less

用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。

* less yum.conf

* PgUp 和 PgDn 进行上下翻页.

tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。

用法:

tail -10 /etc/passwd  查看后10行数据

tail -f catalina.log  动态查看日志(*****)

ctrl+c 结束查看

5 -文件操作

rm 删除文件

用法:rm [选项]... 文件...

rm a.txt  删除a.txt文件

删除需要用户确认,y/n

rm 删除不询问

rm -f a.txt 不询问,直接删除 rm 删除目录

rm -r a 递归删除 不询问递归删除(慎用)

rm -rf a 不询问递归删除

rm -rf *    删除所有文件 rm -rf /*     自杀

cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。

cp a.txt b.txt  将a.txt复制为b.txt文件

cp a.txt ../  将a.txt文件复制到上一层目录中

mv 移动或者重命名

mv a.txt ../  将a.txt文件移动到上一层目录中

mv a.txt b.txt  将a.txt文件重命名为b.txt

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

常用参数:

-c:创建一个新tar文件

-v:显示运行过程的信息

-f:指定文件名

-z:调用gzip压缩命令进行压缩

-t:查看压缩文件的内容

-x:解开tar文件

打包:

tar –cvf xxx.tar ./*

打包并且压缩:

tar –zcvf xxx.tar.gz ./*

解压

tar –xvf xxx.tar

tar -xvf xxx.tar.gz -C /usr/aaa

6 -其他常用命令

查找符合条件的字符串。

用法: grep [选项]... PATTERN [FILE]... 示例:

grep lang anaconda-ks.cfg 在文件中查找lang

grep lang anaconda-ks.cfg –color 高亮显示

pwd 显示当前所在目录

touch a.txt 创建一个空文件

ll -h 友好显示文件大小

wget 下载资料

* wget http://nginx.org/download/nginx-1.9.12.tar.gz

7-编辑器命令

Vi和Vim编辑器
在Linux下一般使用vi编辑器来编辑文件。 vi既可以查看文件也可以编辑文件。 三种模式:命令行、插入、底行模式。
 

切换到命令行模式:按Esc键;

切换到插入模式:按 i 、o、a键;

i 在当前位置生前插入

I 在当前行首插入

a 在当前位置后插入

A 在当前行尾插入

o 在当前行之后插入一行

O 在当前行之前插入一行

切换到底行模式:按 :(冒号);

打开文件:vim file

退出:esc  :q

修改文件:输入i进入插入模式

保存并退出:esc:wq

不保存退出:esc:q!

3中进入插入模式:

i:在当前的光标所在处插入

o:在当前光标所在的行的下一行插入

a:在光标所在的下一个字符插入

快捷键:

dd – 快速删除一行

R – 替换

8-重定向和输出>和>>

> 重定向输出,覆盖原有内容;

>> 重定向输出,又追加功能;

cat /etc/passwd > a.txt 将输出定向到a.txt中

cat /etc/passwd >> a.txt 输出并且追加

ifconfig > ifconfig.txt

9-管道

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

-ef表示进程

示例

ls --help | more 分页查询帮助信息

ps –ef| grep java  查询名称中包含java的进程

ifconfig | more

cat index.html | more

ps –ef | grep aio

命令之间使用 && 连接,实现逻辑与的功能。

只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。 

只要有一个命令返回假(命令返回值$? == 1),后面的命令就不会被执行。

mkdir test && cd test

ifconfig 显示或设置网络设备。

ifconfig 显示网络设备

ifconfig eth0 up 启用eth0网卡

ifconfig eth0 down 停用eth0网卡 ping 探测网络是否通畅。

ping 192.168.0.1 netstat 查看网络端口。

netstat -an | grep 3306 查询3306端口占用情况

date 显示或设置系统时间

date 显示当前系统时间

date -s “2014-01-01 10:10:10“ 设置系统时间 df 显示磁盘信息

df –h 友好显示大小 free 显示内存状态

free –m 以mb单位显示内存组昂头 top 显示,管理执行中的程序

clear 清屏幕

ps 正在运行的某个进程的状态

ps –ef 查看所有进程

ps –ef | grep ssh 查找某一进程 kill 杀掉某一进程

kill 2868 杀掉2868编号的进程

kill -9 2868 强制杀死进程

du 显示目录或文件的大小。

du –h 显示当前目录的大小

who 显示目前登入系统的用户信息。

hostname 查看当前主机名

修改:vi /etc/sysconfig/network

uname 显示系统信息。

uname -a 显示本机详细信息。 依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称

10-用户和组管理

useradd 添加一个用户

useradd test 添加test用户

useradd test -d /home/t1 指定用户home目录

passwd 设置、修改密码

passwd test 为test用户设置密码

切换登录:

ssh -l test -p 22 192.168.19.128

su – 用户名

userdel 删除一个用户

userdel test 删除test用户(不会删除home目录)

userdel –r test 删除用户以及home目录

当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组 

创建用户时也可以指定所在组

groupadd  创建组

groupadd public 创建一个名为public的组

useradd u1 –g public  创建用户指定组

groupdel 删除组,如果该组有用户成员,必须先删除用户才能删除组。

groupdel public

id命令功能:查看一个用户的UID和GID 

用法:id[选项]... [用户名]

直接使用id

直接使用id用户名

su命令功能:切换用户。 

示例:

su u1  切换到u1用户

su - u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用)

11-账户文件

/etc/passwd 用户文件

/etc/shadow 密码文件

/etc/group 组信息文件

12-用户文件

root:x:0:0:root:/root:/bin/bash

账号名称: 在系统中是唯一的

用户密码: 此字段存放加密口令

用户标识码(User ID): 系统内部用它来标示用户

组标识码(Group ID): 系统内部用它来标识用户属性

用户相关信息: 例如用户全名等

用户目录: 用户登录系统后所进入的目录

用户环境: 用户工作的环境

13-Linux的权限命令


属主(user)

属组(group)

其他用户

r

w

x

r

w

x

r

w

x

4

2

1

4

2

1

4

2

1

Linux的三种文件类型

普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。

目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。

设备文件: Linux系统把每一个设备都看成是一个文件

文件类型和标识

普通文件(-)

目录(d)

符号链接(l)

* 进入etc可以查看,相当于快捷方式

字符设备文件(c)

块设备文件(s)

套接字(s)

命名管道(p)

 

文件权限的管理:

chmod 变更文件或目录的权限。

chmod 755 a.txt

chmod u=rwx,g=rx,o=rx a.txt

chmod 000 a.txt / chmod 777 a.txt chown 变更文件或目录改文件所属用户和组

chown u1:public a.txt :变更当前的目录或文件的所属用户和组

chown -R u1:public dir :变更目录中的所有的子目录及文件的所属用户和组

四:Linux部署JDK1.8

 

1-卸载自带的OpenJDK

执行命令查看 rpm –qa | grep java

卸载OPENJDK

 

创建jdk安装路径

在/usr/local/ 创建文件夹java

mkdir java

 首先需要安装云依赖,并解压安装包

l  yum install glibc.i686

l  tar –xvf xxx.tar.gz –C /usr/local/java

配置环境变量

vim /etc/profile

#set java environment

JAVA_HOME=/usr/local/src/java/jdk1.7.0_71

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

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

重新加载配置文件:

source /etc/profile 输入java-version检查是否安装成功

五:Linux部署Tomcat

1-上传tomcat的安装文件

2-解压tomcat安装包

3-设置防火墙 可以远程连接

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

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

   也可以直接关闭防火墙

重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off

2) 即时生效,重启后失效

service 方式

开启: service iptables start

关闭: service iptables stop

iptables方式

查看防火墙状态:

/etc/init.d/iptables status

暂时关闭防火墙:

/etc/init.d/iptables stop

重启iptables:

/etc/init.d/iptables restart

 

4-启动tomcat可部署

进入到tomcat/bin

执行 ./startup.sh

关闭tomcat

执行 ./shutdown.sh

 

六:搭建Nginx环境

nginx是C语言开发,需要安装语言环境

* gcc

安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

* PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum install -y pcre pcre-devel

* zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

* OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel

1.第一步上传nginx源码包到linux并进行解压

tar -zxf nginx-1.8.0.tar.gz 

2.第二步进入nginx-1.8.0文件夹。执行configure命令进行配置会创建makefile。

 #  ./configure

 

默认参数指定位置可以不关注

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

3.执行make和make install命令进行编译安装

# make
# make install

安装完成后在/usr/local/nginx中会多出这几个路径

4.Nginx的启动和关闭

 进入sbin目录,启动nginx

# ./nginx

查看启动情况

[root@izbp1esnhdn0mw03mmlv9uz sbin]# ps -aux |grep nginx

root 5152 0.0 0.0 24832 768 ? Ss 16:57 0:00 nginx: master process ./nginx

nobody 5153 0.0 0.1 25260 1480 ? S 16:57 0:00 nginx: worker process

root 5155 0.0 0.0 112660 964 pts/1 R+ 16:58 0:00 grep --color=auto nginx

关闭nginx

关闭命令:相当于找到nginx进程kill。

./nginx -s stop

退出命令

./nginx -s quit

等程序执行完毕后关闭,建议使用此命令。

动态加载配置文件

./nginx -s reload

可以不关闭nginx的情况下更新配置文件。

5.配置nginx

进入/usr/local/nginx/conf 编辑nginx.conf文件

# vim nginx.conf
 

#gzip on;

server {

listen 80;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm;

}

#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;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

# proxy_pass http://127.0.0.1;


找到server位置上方内容加入如下,servername 及

upstream server_haoxin{

server localhost:8080; //可以配置多个实际被代理的服务路径

#ip_hash

}

server {

listen 80;

server_name localhost; //配置访问的域名如www.baidu.com

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

proxy_pass http://server_haoxin; //指定需要代理的服务器集群,上方配置

index index.html index.htm;

}

重新加载nginx配置即可访问
 

本文原文地址:https://blog.csdn.net/xiangchengzhangdecai/article/details/79387047

猜你喜欢

转载自blog.csdn.net/Roger_CoderLife/article/details/87248507