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的概述和常用命令

Linux的Java开发环境搭建及部署_第1张图片

一:常用命令

       

   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的权限命令
Linux的Java开发环境搭建及部署_第2张图片

属主(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

   一:上传tomcat的安装文件

  二 :解压tomcat安装包

  三:设置防火墙 可以远程连接

/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

 四:启动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中会多出这几个路径Linux的Java开发环境搭建及部署_第3张图片

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配置即可访问














    



你可能感兴趣的:(Linux的Java开发环境搭建及部署)