Linux搭建Java Web开发环境(jdk,maven,vsftpd,Nginx,MySQL,Git)

版权声明:本文为作者原创书籍。转载请注明作者和出处,未经授权,严禁私自转载,侵权必究!!!

情感语录:最困难的事情就是认识自己!

Linux环境配置

请安步骤依次跟着我的顺序安装,本篇文章将会对各个版本有较大改动都会说明。请认真仔细查阅!!!!

再次说明,涉及到相关环境变量配置,务必手动编写,切勿偷懒复制,在写文章时使用的字符集编码格式不一定正确~~~~

JDK安装步骤:

1.清理系统默认自带JDK
如果你当前的系统环境下有openjdk等,需要先执行 rpm -qa | grep jdk 查看已经自带的jdk,然后卸载。

2.卸载命令sudo yum remove XXX(XXX为上个命令查询到的结果,需要root账户权限下)

3.赋予安装版本的jdk权限: sudo chmod 777 jdk-7u80-linux-x64.rpm (你下载的其他版本需跟换下版本名称)

4.安装:sudo rpm -ivh jdk-7u80-linux-x64.rpm(注意修改你的版本名称)

5.默认安装路径:/usr/java 列如:/usr/java/jdk1.7.0_80

6.jdk环境变量配置 使用命令打开文件:

sudo vim /etc/profile

② 在文件末尾处加上:

export JAVA_HOME=/usr/java/jdk1.7.0_80 
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

注意JAVA_HOME为你的安装jdk的路径

③ 在export path 中添加$JAVA_HOME/bin

export PATH=$PATH:$JAVA_HOME/bin

④ 退出并保存vim 命令 ":wq"(在编辑状态下请ESC)

⑤ 重新加载/etc/profile配置文件 source /etc/profile

整体配置如下:

export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/ib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PAHT:$JAVA_HOME/bin

java -version 检查是否正确安装 (能看到版本信息标示安装ok)

Tomcat安装

① 解压缩:tar -zxvf apache-tomcat-7.0.73.tar.gz(注意你的版本)

② 配置环境变量 sudo vim /etc/profile 打开文件,在最下方添加

export CATALINA_HOME= 解压路径

如:export CATALINA_HOME=/developer/apache-tomcat-7.0.73

整体如图:

export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/ib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CATALINA_HOME=/developer/apache-tomcat-7.0.73
export PATH=$PAHT:$JAVA_HOME/bin

③ 退出并保存vim 命令 ":wq"(在编辑状态下请ESC)

④ 重新加载/etc/profile配置文件 source /etc/profile

⑤ 配置Tomcat的UTF-8字符集(防止乱码问题)
进入tomcat 安装的conf文件 编辑server.xml 命令:sudo vim server.xml。找到配置8080默认端口的位置然后在xml节点末尾增加 URIEncoding="UTF-8"

⑥ Tomcat验证

(1)进入解压缩后的tomcat目录

(2)进入bin目录

(3)执行 ./startup.sh

:出现 This file is needed to run this program 提示表示并没有执行权限,你需要在Tomcat的bin目录下:chmod + x *.sh再次执行 sh catalina.sh,然后用sh startup.sh再次启动,如果还是不成功在任意目录执行 unset CATALINA_HOME(临时),在tomcat的使用用户的/etc/profile尾部加入unset CATALINA_HOME(永久),再次 ./startup.sh

见到如下图表示成功

(4)通过ip地址和端口号访问验证。

Maven 安装

① 通过tar或unzip进行解压缩
tar -zxvf apache-maven-3.0.5-bin.tar.gz(注意你的版本)

② 配置环境变量 sudo vim /etc/profile 打开文件,在最下方添加

export MAVEN_HOME= 解压路径

如: export MAVEN_HOME=/developer/apache-maven-3.0.5
注: 这里路径一定填写正确 否则 mvn命令不生效.

export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

④ 重新加载/etc/profile配置文件 source /etc/profile

整体配置:

export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/ib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CATALINA_HOME=/developer/apache-tomcat-7.0.73
export MAVEN_HOME=/developer/apache-maven-3.0.5
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PAHT

⑤ mvn -version 检查版本信息是否安装成功

vsftpd 安装

① 执行安装命令 sudo yum -y install vsftpd

注:

(1) 是否使用sudo权限执行请根据您具体环境来决定。

(2)sudo rpm -qa| grep vsftpd可通过这个检查是否已经安装vsftpd,安装成功会输出软件版本信息。

(3)默认配置文件在/etc/vsftpd/vsftpd.conf

② 创建虚拟用户

(1) 选择在根或者用户目录下创建ftp文件夹作为ftp仓库:mkdir ftpfile,如:/ftpfile

(2) 添加匿名用户:sudo useradd ftpuser -d /ftpfile -s /sbin/nologin

(3) 修改ftpfile权限:sudo chown -R ftpuser.ftpuser /ftpfile/

(4) 重设ftpuser密码:sudo passwd ftpuser

注:是否使用sudo权限执行请根据您具体环境来决定

③ 配置ftp服务器

(1) cd /etc/vsftpd

(2) sudo vim chroot_list

(3) 把刚才新增的虚拟用户添加到此配置文件中,后续要引用

增加内容 上面配置的用户的用户名 ftpuser

(4):wq保存退出

(5) 修改系统文件以防匿名用户无法创建文件:sudo vim /etc/selinux/config ,修改为SELINUX=disabled

(6) :wq保存退出

注:如果一会验证的时候碰到550拒绝访问请执行:

sudo setsebool -P ftp_home_dir 1    (centos7以上执行:sudo setsebool -P tftp_home_dir on)

然后重启linux服努器,执行reboot命令

(7)编辑配置文件: sudo vim /etc/vsftpd/vsftpd.conf

放开连接成功时的欢迎信息:

ftpd_banner=Welcome to blah FTP service.

新增仓库地址,这里路径需要填写你开始创建的信息:

local_root=/ftpfile

anon_root=/ftpfile

新增行设置使用时间:

use_localtime=yes

新增行设置被动传输接口的范围:

pasv_min_port=61001
pasv_max_port=62000

修改行 匿名访问为NO:

anonymous_enable=NO

修改(是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到目录之外的,这是不安全的)

chroot_local_user=NO

放开(是否启动限制用户的名单 YES为启用 NO禁用(包括注释掉也为禁用))

chroot_list_enable=YES

放开(是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值)

chroot_list_file=/etc/vsftpd/chroot_list

④ 防火墙配置

注:如果是centos7 以上需要如下操作,不是则跳过请看(1)处开始

安装iptable iptable-service

先检查是否安装了iptables

service iptables status

安装iptables

yum install -y iptables

升级iptables

yum update iptables

安装iptables-services

yum install iptables-services

iptables-services 和 iptables 不是一个东西,安装 services 后才有/etc/sysconfig/iptables

停止/禁用firewalld服务

systemctl stop firewalld
systemctl mask firewalld

开放443端口(HTTPS)

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

保存上述规则

service iptables save

开启服务

systemctl restart iptables.service

(1) 编辑防火墙文件:sudo vim /etc/sysconfig/iptables

(2) 将以下配置添加到防火墙配置中

#vsftpd
-A INPUT -p TCP --dport 61001:62000 -j ACCEPT
-A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT

-A INPUT -p TCP --dport 20 -j ACCEPT
-A OUTPUT -p TCP --sport 20 -j ACCEPT
-A INPUT -p TCP --dport 21 -j ACCEPT
-A OUTPUT -p TCP --sport 21 -j ACCEPT

(3):wq保存退出

(4) sudo service iptables restart执行命令防火墙重启

vsftpd验证

1.执行 sudo service vsftpd restart

注:第一次启动时 Shutting down vsftpd是failed不用理会,这条命令保证 Starting vsftpd 是OK代表服务启动成功

2.执行ifconfig查看运行vsftpd服务器ip地址

3.打开浏览器访问:ftp://10.211.55.6 见到输入用户名和密码,输入开始创建的用户名和密码即可登录

4.通过ftp客户端软件也可
例如:cuteftp、filezilla、viperftp、flashftp、leapftp等
进行连接ftp服努器,进行文件上传、下载验证

Nginx反向代理服务器安装

1.安装gcc(命令: yum install gcc)

备注:可以输入gcc查询版本信息看系统是否自帯安装

2.安装pcre(命令: yum install pcre-devel)

3.安装zlib(命令: yum install zlib zlib-devel)

4.安装 openssl(命令: yum install openssl openssl-devel)
备注:如需支持ss,才需安装 openssl

综合命令: yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

5.下载源码包,选择稳定版本,解压缩安装(http://www.nginx.org)

wget http://nginx.org/download/nginx-1.10.2.tar.gz 访问

下载完成后解压缩:tar -zxvf nginx-1.10.2.tar.gz(注意您的版本信息)

6.Nginx 安装

一、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

二、安装 PCRE(可选)
PCRE 作用是让 Nginx 支持 Rewrite 功能。

选定安装文件目录:如: cd /usr/local/src

(1) wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz 下载自己对应的版本

  1. 解压缩:tar zxvf pcre-8.39.tar.gz

  2. cd pcre-8.39 进入目录 之后执行./configure

  3. 编译并安装:make && make install

  4. 查看pcre版本: pcre-config --version 打印出版本信息安装OK

三 开始安装 Nginx

Nginx下载地址:http://nginx.org/download

  1. 切换到目录:cd /usr/local/src/

  2. 下载 Nginx wget http://nginx.org/download/nginx-1.10.2.tar.gz 选择你想要的版本地址下载

  3. 解压缩: tar zxvf nginx-1.10.2.tar.gz

  4. 进入目录 cd nginx-1.10.2

  5. 编译安装:

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.39 这里注意你的版本信息需对应上
如果没有执行上述可选的第二步,则直接执行 ./configure 即可

② 编译:make !编译过程中如果遇到如下错误,请处理后重新编译,否则跳过:

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
    -o objs/src/core/ngx_murmurhash.o \
    src/core/ngx_murmurhash.c
src/core/ngx_murmurhash.c: In function ‘ngx_murmur_hash2’:
src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
         h ^= data[2] << 16;
         ~~^~~~~~~~~~~~~~~~
src/core/ngx_murmurhash.c:38:5: note: here
     case 2:
     ^~~~
src/core/ngx_murmurhash.c:39:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
         h ^= data[1] << 8;
         ~~^~~~~~~~~~~~~~~
src/core/ngx_murmurhash.c:40:5: note: here
     case 1:

解决方案:进入到当前Nginx目录下找到objs 文件并进入MakeFile 中 找到如下语句:

CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g
然后去掉 -Werror

③ 安装:make install

④ 配置环境变量,并 source /etc/profile 使其生效

export NGINX_BIN=/usr/local/nginx/sbin
export PATH=$JAVA_HOME/bin:${MAVEN_HOME}/bin:$NGINX_BIN:$PATH

6)查看nginx版本:nginx -v 输出版本信息表示OK

四 Nginx配置

1)配置 nginx.conf ,将/usr/local/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 {
        worker_connections  1024;
    }


    http {
        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;

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

            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ \.php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}

            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #    deny  all;
            #}
        
        }
        
        ##########################vhost#####################################
        include vhost/*.conf;

        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;

        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}


        # HTTPS server
        #
        #server {
        #    listen       443 ssl;
        #    server_name  localhost;

        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;

        #    ssl_session_cache    shared:SSL:1m;
        #    ssl_session_timeout  5m;

        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers  on;

        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}

    }
  1. 检查配置文件nginx.conf的正确性命令:nginx -t

输出:nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful
则表示OK

  1. Nginx 启动命令如下:./nginx 需要在 sbin目录下执行

4)查询ip地址 ifconfig 然后浏览器打开输入地址,见下图表示成功!

Nginx虚域名配置及测试验证

◆配置步骤

1.sudo vim /usr/local/nginx/con/nginx.conf

(1)增加 include vhost/*.conf ;保存退出

2./usr/local/nginx/conf/ 目录新建vhost文件夹 即:/usr/local/nginx/conf/vhost

3.创建域名转发配置文件 test.conf(名字你随意,文件后缀别写错即可)

 server {
    listen 80;
    autoindex on;
    #test.com 修改成你的域名
    server_name test.com www.test.com;
    access_log /usr/local/nginx/logs/access.log combined;
    index index.html index.htm index.jsp index.php;
    if ( $query_string ~* ".*[\;'\<\>].*" ){
            return 404;
            }

    location / {
            #在访问www.test.com时将请求转发到 http://127.0.0.1:8080上
            proxy_pass http://127.0.0.1:8080/;
            }
    }

4.启动(重启)验证

启动:${nginx) /sbin/nginx

重启:${nginx) /sbin/nginx -s reload

注:${nginx}代表安装在系统中的路径,例如/usr/local/nginx

5.访问验证

使用默认80端口访问验证:http://localhost:80或http://127.0.0.1:80

注:可以配置域名转发,但是请一定要配置host,并且使host生效之后才可以,设置完成之后要重启浏览器

(1)sudo vim /etc/hosts

(2)添加好对应的域名及ip后并:wq保存退出

Nginx常用命令 (需配置环境变量,否则在安装目录下执行)

◆测试配置文件

nginx -t

◆启动命令

/nginx/sbin目录下./nginx

◆停止命令

/nginx/sbin目录下./nginx -s stop,或者是: ./nginx -s quit

◆重启命令

/nginx/sbin目录下./nginx -s reload

◆查看进程命令

ps -ef | grep nginx

◆平滑重启

kill-HUP【 Nginx主进程号(即查看进程命令查到的PID)

◆增加防火墙访问权限

1.sudo vim /etc/sysconfig/iptables

2.-A INPUT-P tcp -m state --state NEW -m tcp --dport 80 -j ACCEP

3.保存退出

4.重启防火墙 sudo service iptables restart 或者用提示命令:systemctl restart iptables.service

MySQL安装与配置

1.安装

查看该操作系统上是否已经安装了mysql数据库

rpm -qa | grep mysql

我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

普通删除模式:rpm -e 查询的结果

强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

 rpm -e --nodeps 查询的结果

执行:yum install -y mysql-server mysql mysql-devel 命令将 mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)

查看刚安装好的mysql-server的版本

rpm -qi mysql-server

mysql数据库的初始化及相关配置

执行 service mysqld start 或者根据你的版本使用 systemctl start mysqld.service 命令就可以启动mysql服务。

执行 service mysqld status 或者 systemctl status mysqld 查看是否开启。

2.字符集配置(7.0mysql以上 跳过)

(1 )vim /etc/my.cnf

(2)添加配置,在[ mysqld]节点下添加:

default-character-set=utf8
character-set-server=utf8

(3):wq保存退出

:1.是否使用sudo权限执行请根据您具体环境来决定

2.character-set-server/default-character-set:
服务器字符集,默认情况下所采用的

补充:关于中文乱码问题

1.在5.1版本时,为了解决中文乱码问题,my.ini内[ mysql]和[ mysqld
中都写
default-character-set=utf8

2.在5.5版本,[mysql]内可以这么写,[mysqld]内不能再这么写了,
而是写:character-set-server=utf8

3.自启动配置

(1)执行 sudo chkconfig mysqld on

(2)执行 sudo chkconfig --list mysqld查看(如果2-5位启用on状态即OK)

4.防火墙配置 开发端口:

(1)sudo vim/etc/sysconfig/iptables

(2)-A INPUT-p tcp -m tcp --dport 3306 -j ACCEPT

将以上配置添加到防火墙配置中

(3):wq保存退出

(4) sudo service iptables restart执行命令重启防火墙

5.启动 mysqld服务sudo service mysqld start/etc/rc.d/init.d/mysqld start

因为还未设置密码,执行mysql -u root 即可登录 MYSQLE服务器

6. MYSQL配置

(1).查看目前mysql的用户

select user, host from mysql.user;

(2).修改root密码

set password for root@localhost=password('youpassword');

 或者

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'

(3) exit 退出mysql

(4)重新登录mysq输入 mysql -u root -p

(5)输入密码登录成功

(6)删除匿名用户,执行以下sql

查看是否有匿名用户: select user, host from mysql.user;

删除匿名用户: delete from mysql. user where user='';

再次查看: select user, host from mysql.user;

刷新,使以上操作生效:flush privileges;

(7)插入mysq新用户

insert into mysql.user( Host, User, Password) values('localhost,"yourusername",password("yourpassword "));

或者 

create user 'zzh'@'%' identified by '123456';

注:localhost和 %的区别在于:localhost 是指该用户只能在本地登录,%表示在任何一台电脑上都可以登录。或者某台机器可以远程登录。

(8)使操作生效 flush privileges;

(9).创建新的 database

CREATE DATABASE 数据库名称(test) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

(10)本地用户赋予所有权限

grant all privileges on test.*to 你的用户名@localhost identified by '你的密码';(Mysql8.0以前版本)

(Mysql8.0以后版本)
 1.use mysql;
 2. ALTER USER 你的用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

(11)给账号开通外网所有权限

grant all privileges on test.*to 'yourusername'@'%' identified by 'yourpassword';(Mysql8.0以前版本)

(Mysql8.0以后版本)
  1.use mysql;
  2. ALTER USER ''yourusername'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';

如果是已有的用户则可修改如:update user set host='%' where user ='root';

注:根据自己实际情况决定是否开什么权限

例如: grant select, insert, update on test.* to
yourusername@'192.11.11.11' identified by 'yourpassword' 就是给test数据库下的所有表添加,查、增、改,并且指定IP地址为'192.11.11.11' 和用户名yourusername才有权限,

(12)使操作生效flush privileges;

MySQL验证

Linux:执行 ifconfig查看运行 mysql服务器的ip地址,上面已经多次使用过

使用Navicat进行验证或者其他方式验证

如果是云端数据库,则需要先配置远端连接信息,我举SSH为例:

mysql配置.png

注:
1:填写远端主机地址公网IP
2:填写登录远端服务器的 账号密码
3.这里解释性为啥填写 localhost,简单说这是因为在连接数据之前已经登录上远端服务器,接下来在连接数据时就相当于在连接本地的数据库一样

mysql.png

如果连接遇到如下错误:


errorinfo.png

请在vim /etc/my.cnf 中添加 skip-name-resolve 标识禁止Mysql 对DNS 解析,然后重启MySql。到此多数都是能连接成功了。

MySql常用命令

(1)启动: sudo service mysqld start 或者 systemctl start mysqld.service

(2)关闭: sudo service mysqld stop 或者 systemctl stop mysqld.service

(3)重启: sudo service mysqld restart 或者 systemctl restart mysqld.service

(4)查看状态:sudo service mysqld status 或者 systemctl restart mysqld.service

Git安装与配置

1.下载

(1)从 github官网下载

https://mirrors.edge.kernel.org/pub/software/scm/git/

(2)或直接在Linux执行安装

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

2.安装依赖

sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

3.安装&配置

(1)解压缩:tar -zxvf git-2.9.5.tar.gzz(注意版本信息)

(2)执行 cd git-2.9.5 然后sudo make 编译

注:sudo make prefix=/usr/local/git all 表示编译到/usr/local/git all该目录

(3)执行sudo install 安装,如果之前编译添加了路径,安装需要同样加上: sudo make prefix=/usr/local/git install

安装完成,然后需要配置环境变量,这里就不写了,前面多次提到配置。

(4)配置用户名(提交时会引用)

git config --global user.name "youname"

(5)配置邮箱(提交时会引用)

git config --global user.email "zhengzaihong@163.com"
请把zhengzaihong163.com替换成自己的用户邮箱

3.其他配置

要是没装KDif1就不用设这一行:git config --global merge.tool "kdiff3

让Git不要管 Windows/Unix换行符转换的事 git config --global core.autocrlf false

4.编码配置

避免 git gull 中的中文乱码

git config --global gui.encoding utf-8

避免 git status:료示的中文文件名乱码

git config --global core.quotepath off

Windows上还需要配置

git config --global core.ignorecase false

5.公钥配置

(1) 在 Linux的命令行下,或 Windows上 Git Bash命令行窗口中键入:

ssh-keygen -t rsa -C "youremail"

(2) 然后一路回车,不要输入任何密码之类,生成 ssh key pair

(3) 把生成的秘钥添加到系统:ssh-add ~/.ssh/id_rsa

(4) cat ~/.ssh/id_rsa.pub 查看并保存信息添加到github或gitlab的SSH公钥信息配置中

注:执行ssh-add时岀现 Could not open a connection to your authentication agent
执行ssh-add ~/ssh/rsa报标题上的错误先执行 eval 'ssh-agent' 或者 是 eval 'ssh-agent -s' ( ' 是~键上的那个)
再执行 ssh-add ~/.ssh/id_rsa 即可成功。执行 ssh-add -l 生成了新加的 RSA

6.Git验证

执行git --version 命令,出现版本信息安装成功

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容