文章目录
1.1常用命令
软件操作指令
服务器硬件资源和硬盘操作
文件和文件夹操作命令
系统用户操作命令
防火墙相关设置
sudo提权和文件传输操作
权限操作
vim操作
1.2准备工作
2.Centos7环境安装
2.1汇总命令
2.2安装mysql
2.3mysql的一些操作和指令
2.4卸载mysql
2.5安装jdk
2.6安装maven
2.7安装nginx
2.8安装tomcat
2.9安装vsftp
2.10安装redis
2.11安装git
2.12安装Docker
3.linux的一些小技巧
##1.Centos的操作指令
1.1常用命令
查询服务是否在运行 ps -ef | grep xxx e显示所有进程 f全格式
删除文件 rm -rf r 递归处理 f 强制删除
解压文件 tar –zxvf -C 指定目录
显示系统中所有已经安装的rpm包 rpm -qa
安装rpm包 rpm -ivh package.rpm
将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum localinstall package_name.rpm
查看系统变量值 echo ${JAVA_HOME}
复制文件夹 cp –r 文件夹名 新文件夹
显示隐藏文件 ls -al
软件操作指令
软件包管理器:yum
安装软件:yum install xxx
卸载软件:yum remove xxx
搜索软件:yum serach xxx
清理缓存:yum clean packages
列出已安装:yum list
软件包信息: yum info xxx
服务器硬件资源和硬盘操作
内存:free –m
硬盘:df –h
负载:w/top
cpu个数 和 核数
文件和文件夹操作命令
根目录/
家目录/home
临时目录 /tmp
配置目录 /etc
当前用户的家目录~
查看目录下的文件ls
新建文件 touch
新建文件夹 mkdir (-f 创建子目录)
进入目录 cd
删除文件和目录 rm (-r 删除文件夹 -rf强制全部删除)
复制 cp
移动 mv
显示路径 pwd
系统用户操作命令
sudo chmod 777 文件名 更改文件权限
useradd 添加用户
passwd 用户名 设置密码
adduser 添加用户(centos中区别不大,ubuntu中区别比较大 )
userdel 删除用户(-r 彻底删除,用户在home下的文件夹也删除)
passwd 设置密码
at /etc/passwd 查看所有用户
su -用户名 切换用户
vim /etc/sudoers 修改用户权限
防火墙相关设置
安装 sudo yum install firewalld
1、firewalld的基本使用
启动:service firewalld start
查看状态:service firewalld status
停止: service firewalld disable
禁用:service firewalld stop
重启:service firewalld restart
CentOS 7.0中已经没有service命令(仍然能用),而是启用了systemctl服务器命令
systemctl 是系统服务管理器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起
systemctl命令
启动: systemctl start firewalld
查看状态:systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
2.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助:firewall-cmd --help
显示状态: firewall-cmd --state
列出所有的区域:firewall-cmd --get-zones
列出默认区域:firewall-cmd --get-default-zone(默认区域是public)
列出所有区域配置:firewall-cmd --list-all-zone
查看所有打开的端口: firewall-cmd --zone=public --list-ports
查看规则:iptables -L -n
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝:firewall-cmd --query-panic
服务和端口打开一个即可,比如ssh服务和22端口,两者打开其一即可用xshell连接
3.添加服务
firewall-cmd –add-service=ssh
firewall-cmd –query-service=ssh
firewall-cmd –remove-service=ssh
4.开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
(--permanent永久生效,需要重启防火墙,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=100-500/tcp --permanent
重新载入firewall-cmd --reload
查看firewall-cmd --zone=public --query-port=80/tcp
删除firewall-cmd --zone=public --remove-port=80/tcp
sudo提权和文件传输操作
sudo命令 使用sudo命令前必须保证当前普通用户在visudo中
直接打visudo命令 添加当前用户
没有权限的情况
wget -o 指定文件名 url 下载某文件
scp imooc@192.168.0.106:/tmp/imooc.txt ./ 下载到当前目录
scp imooc.txt imooc@192.168.0.106:/tmp/ 上传到temp目录
xshell上传和下载
yum install lrzsz
rz win上传到linux服务器(当前用户根目录下)
sz从linux服务器下载到win
权限操作
改变所有者(chown)和用户组(chgrp)命令
chown xiaoming abc 改变abc的所有者为xiaoming
chgrp root abc 改变abc所属的组为root
chown root ./abc 改变abc这个目录的所有者是root
chown -R root /abc 改变abc这个目录及其下面所有的文件和目录的所有者是root
chmod 修改文件和目录的权限
例子:chmod -R 777 abc 文件abc的权限为777
vim操作
到行尾 G 到行首 gg
删除一整行 dd
恢复 u
移动到要复制的某一行 yy 复制 p
取消高亮 :nohl
命令 作用
head 从文件头部读
tail 从文件尾部开始读
cat 读取整个文件
more 分页读取
less 可控分页
grep 搜索关键字
find 查找文件
wc 统计个数
1.2准备工作
查看ip
ifconfig
ip addr(ifconfig不能使用的前提下)
如果ifconfig不能使用,网卡没有内网ip进行一下操作
vi/etc/sysconfig/network-scripts/ifcfg-xx 目的是使网卡enp0s3网卡生成内网ip
service network restart 重启网络服务
yum install net-tools
替换默认源
网址 http://mirrors.163.com/.help/centos.html
安装wget和vim
查看当前linux版本 cat /etc/redhat-release
下载链接下文件到当前地址 wget url
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup(mv 移动文件)
下载对应版本repo文件, 放入/etc/yum.repos.d/
运行以下命令生成缓存
yum clean all
yum makecache
远程连接ssh
服务器安装ssh服务
服务器端一般是不需要安装的,如果是有可视化界面的话需要安装
安装ssh yum install openssh-server
启动ssh service sshd start
设置开机启动 chkconfig sshd on
客户端安装ssh工具
linux安装ssh客户端 yum install openssh-clients
2.Centos7环境安装
2.1汇总命令
环境变量
ubuntu需要在 ~/.bashrc里面加一句source /etc/profile,否则每次进入命令行都要source /etc/profile使环境变量生效
#jdk1.8
export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
#maven
export MAVEN_HOME=/usr/local/maven3.5
export PATH=$MAVEN_HOME/bin:$PATH
#tomcat
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=/usr/local/tomcat8.5
export CATALINA_BASE=/usr/local/tomcat8.5
#mysql
export PATH=/usr/local/mysql/bin:$PATH
#git
export PATH=/usr/local/git/bin:$PATH
#nginx
export PATH=/usr/local/nginx/sbin:$PATH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
git安装依赖
sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils- MakeMaker
nginx安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.2安装mysql
Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息。然而,网上关于Linux安装mysql数据库的教程数不胜数,但是,大多教程都是漏洞百出。今天,为了帮助各位需要的人,从而写下Centos7安装配置mysql5.6的教程。
------------------------------------------------ubuntu-------------------------------------------------------
sudo apt-get install mysql-server
sudo apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
mysql5.7以上会生成root用户初始密码,ubuntu存储位置 /etc/mysql/debian.cnf
更改用户密码
update user set authentication_string=PASSWORD(“1234”) where user=“root”;
5.7以上字段更改为authentication_string
select user, host,plugin from mysql.user;
默认root账户必须具备root权限才能登陆
新建一个账户并授权
create user ‘test’@’%’ identified by ‘1234’;(创建失败有可能是重复创建)
grant all privileges on . to ‘test’@’%’ identified by ‘1234’ with grant option;
---------------------------------------------------ubuntu---------------------------------------------------------------
一、安装
1、下载安装包mysql-5.6.34-linux-glibc2.5-x86_64.tar(可前往官网自行下载:http://dev.mysql.com/downloads/mysql/)
2、卸载系统自带的Mariadb
打开Terminal终端:
[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
1
2
3、删除etc目录下的my.cnf
[root@localhost ~]# rm /etc/my.cnf
4、执行以下命令来创建mysql用户组
[root@localhost ~]# groupadd mysql
5、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
[root@localhost ~]# useradd -g mysql mysql
6、将下载的压缩包放到 /usr/local/ 目录下(通过mv 要移动的文件 /usr/local/)
7、解压安装包
[root@localhost ~]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar
注:如果压缩包为:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz,
则解压命令为: tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
8、将解压好的文件夹重命名为mysql
[root@localhost local]# mv 解压出来的文件夹名 mysql
9、在 etc 下新建配置文件my.cnf,并在该文件中添加一下代码:
当然,也有简单方式:直接copy一份my.cnf文件到/etc下,然后再修改即可。
e g:copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下
命令为:[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
然后,配置/etc目录下的my.cnf文件
[root@localhost support-files]# vim /etc/my.cnf
通过vim编辑器编辑my.cnf代码如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
10、进入安装mysql软件目录
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql:mysql ./ 修改当前目录拥有着为mysql用户
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安装数据库
注:若执行以上最后一个命令出现以下问题:
FATAL ERROR: please install the following Perl modules before executing
./scripts/mysql_install_db:Data::Dumper
解决方法 :安装autoconf库
命令: yum -y install autoconf //此包安装时会安装Data:Dumper模块
安装完成重新执行上述最后一个命令
error while loading shared libraries
解决方法:安装libaio.so
yum install libaio
重新回到上述第三个命令继续操作:
[root@localhost mysql]# chown -R mysql:mysql data 修改当前data目录的拥有者为mysql用户
到此数据库安装完毕!
二、配置MySQL
1、授予my.cnf最大权限
[root@localhost ~]# chmod 777 /etc/my.cnf
设置开机自启动服务控制脚本:
2、复制启动脚本到资源目录
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
3、增加mysqld服务控制脚本执行权限
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
4、将mysqld服务加入到系统服务
[root@localhost mysql]# chkconfig --add mysqld
5、检查mysqld服务是否已经生效
[root@localhost mysql]# chkconfig --list mysqld
命令输出类似下面的结果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
1
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
命令为:service mysqld start和service mysqld stop
6、启动mysqld
[root@localhost mysql]# service mysqld start
7、将mysql的bin目录加入PATH环境变量
[root@MiWiFi-R3-srv ~]# vim /etc/profile
最后一行添加:
export PATH=/usr/local/mysql/bin:$PATH
使修改生效:
[root@MiWiFi-R3-srv ~]# source /etc/profile
1
2
3
4
5
8、以root账户登录mysql,默认是没有密码的
[root@localhost mysql]# mysql -uroot -p
要输入密码的时候直接回车即可。
9、设置root账户密码为root(也可以修改成你要的密码)
mysql>use mysql;
mysql>set password=password('1234');
mysql>flush privileges;
1
2
3
10、设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
设置远程访问
•打开mysql的默认端口3306:
[root@MiWiFi-R3-srv bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@MiWiFi-R3-srv bin]# firewall-cmd --reload
success
•设置mysql的远程访问
设置远程访问账号:grant all privileges on . to 远程访问用户名@’%’ identified by ‘用户密码’;
mysql> grant all privileges on *.* to root@'%' identified by 'root';
刷新:
mysql> flush privileges;
1
2
3
4
5
6
7
8
9
10
2.3mysql的一些操作和指令
创建用户并设置权限
mysql> create user '用户名'@'ip' identified by '密码';
指定ip地址可以使用设定的用户名和密码访问数据库,如果ip是localhost只能本地访问
mysql>grant all privileges on 数据库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
all表示所有权限
例:grant all privileges on prod.* to 'tom'@'%' identified by '123' with grant option;
任意ip可以用户名tom和密码123访问prod数据库的所有表,并且该tom用户可以为其他用户分配权限(with grant option)
给指定用户授权 当前用户必须有给其他用户分配权限的特权
修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:
flush privileges
查询数据并格式化 select * from mmall_user\G
启动 service mysql start
停止service mysql stop
重启service mysql restart
显示所有库 show databases
显示所有表 show tables
查看用户授权 show grants for 用户名
查看数据库版本 select version();
查看数据库所有用户 select user,host from mysql.user;
windows中navicat中连不上虚拟机的数据库
确定mysql –uroot –p能连上
注释掉/etc/mysql/mysql.conf.d/mysqld.cnf 中的bind-adress 127.0.0.1
修改远程登陆权限grant all privileges on . to ‘root’@’%’ identififed by ‘密码’ with grant option; 记得刷新
导入sql文件
mysql> show databases;
mysql> create database mmall; (是键盘esc下面的)`
mysql> use mmall;
source /product/mmall.sql;
2.4卸载mysql
卸载掉安装的部分 首先执行查看命令,看一下都安转了什么东东:
rpm -qa |grep -i mysql
开始卸载
执行卸载命令:yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common
卸载仓库 yum -y remove mysql57-community-release-el7-10.noarch
2.5安装jdk
解压tar.gz后缀需要加-zxvf参数,因为使用了gzip压缩格式
配置环境变量
打开文件:vim /etc/profile
export JAVA_HOME=/usr/local/jdk8
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export PATH=JAVA_HOME/bin:PATH
1
2
3
4
5
让文件立即生效 source /etc/profile
测试 java –version
2.6安装maven
1. 解压缩
2. 配置环境变量
# vim /etc/profile
export MAVEN_HOME=/usr/local/maven3.5
export PATH=$MAVEN_HOME/bin:$PATH
检测: mvn -v
1
2
3
4
5
6
7
2.7安装nginx
以非root用户启动nginx时,会出现 nginx: [emerg] bind()to 0.0.0.0:80 failed (13: Permission denied) 错误
原因是linux中非root用户不能使用1024以下的端口,而nginx默认监听80端口
安装步骤
#解压: tar -zxvf nginx-1.13.6.tar.gz
#进入解压目录: cd nginx-1.13.6
#配置: ./configure --prefix=/usr/local/nginx
#编译: make
#安装: sudo make install
#启动: sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过-h查看帮助命令。
#查看进程: ps -ef | grep nginx
环境变量配置 export PATH=/usr/local/nginx/sbin:$PATH\
1
2
3
4
5
6
7
8
9
常用命令
测试配置文件
nginx/sbin/nginx –t
启动命令
nginx/sbin/nginx
停止命令
nginx/sbin/nginx –s stop或nginx –s quit
重启命令
nginx/sbin/nginx –s reload
平滑重启
kill –HUP(nginx主进程号)
增加防火墙访问权限,默认需开启80端口
1
2
3
4
5
6
7
8
9
10
11
虚拟域名配置
编辑vim /usr/local/nginx/conf/nginx.conf
增加include vhost/*.conf(以域名作为conf文件的前缀) 一定要注意添加的位置
在/usr/local/nginx/conf下新建vhost文件夹
创建域名转发配置文件 http://www.baidu.com.conf
既指向端口又指向目录
server {
listen 80;
autoindex off; 是否列出整个目录
server_name image.imooc.com;
access_log /usr/local/nginx/logs/access.log combined; 生成日志的位置
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* {
deny all;
}
location / {
root C:\ftpfile\img; 转发文件位置(windows下载img后面不能加\)
add_header Access-Control-Allow-Origin *;
}
}
指向端口
server {
listen 80;
autoindex on;
server_name tomcat.imooc.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location / {
proxy_pass http://127.0.0.1:8080; 转发的域名
add_header Access-Control-Allow-Origin *;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
如果是本机,还需要配置hosts
(1)sudo vim /etc/hosts
(2)添加对应的域名及ip
2.8安装tomcat
1.编辑profile文件,配置相关的变量
#tomcat8.5
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=/usr/local/tomcat8.5
export CATALINA_BASE=/usr/local/tomcat8.5
不能有空格!!!!!!!!
2.source /etc/profile 使文件生效
3.查看启动日志
root@ubuntu#: tail -f /usr/local/Tomcat/logs/catalina.out
4.编码问题
在配置port=8080的xml节点上 加上URIEncoding=”UTF-8”
tomcat目录下conf/server.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
2.9安装vsftp
安装vsftpd组件
安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。
[root@bogon ~]# yum -y install vsftpd
创建ftp文件夹 /product/ftpfile
新建用户 useradd ftpuser -d /product/ftpfile -s /sbin/nologin
该用户没有登录linux权限但是有ftp权限
-d 指定用户的家目录
-s 指定用户登陆shell(默认登陆shell是/bin/bash)
更改文件夹权限 sudo chown -R ftpuser.ftpuser /product/ftpfile/
用户和用户组都是ftpuser
重置ftpuser的密码 sudo passwd ftpuser
创建并编辑文件 vim /etc/vsftpd/chroot_list
将刚刚新建的ftp用户添加文件中
修改 selinux /etc/selinux/config
修改为disabled,也可以采用命令 sudo setsebool -P tftp_home_dir on(和修改config的效果一样)
从centos7开始没有ftp_home_dir,改为tftp_home_dir
getsebool -a | grep ftp命令查询
PASV被动模式下防火墙要打开多个端口,不止20和21端口
启动并开机自启动
systemctl start vsftpd
systemctl enable vsftpd
ftp服务器登陆很慢
vsftpd.config中加入参数reverse_lookup_enable=NO
默认开了反向解析,需关闭
vsftpd.config的一些配置参数说明
1)local_root=/ftpfile(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录)
2)anon_root=/ftpfile(使用匿名登入时,所登入的目录)
3)use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
4)anonymous_enable=NO(不允许匿名用户登录)
5)local_enable=YES(允许本地用户登录)
6)write_enable=YES(本地用户可以在自己家目录中进行读写操作)
7)local_umask=022(本地用户新增档案时的umask值)
8)dirmessage_enable=YES(如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启)
9)xferlog_enable=YES(是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。)
10)connect_from_port_20=YES(指定FTP使用20端口进行数据传输,默认值为YES)
11)xferlog_std_format=YES(如果启用,则日志文件将会写成xferlog的标准格式)
12)ftpd_banner=Welcome to mmall FTP Server(这里用来定义欢迎话语的字符串)
13)chroot_local_user=NO(用于指定用户列表文件中的用户是否允许切换到上级目录)
14)chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
15)chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
16)listen=YES(设置vsftpd服务器是否以standalone模式运行,以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效,若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制)
17)pam_service_name=vsftpd(虚拟用户使用PAM认证方式,这里是设置PAM使用的名称,默认即可,与/etc/pam.d/vsftpd对应) userlist_enable=YES(是否启用vsftpd.user_list文件,黑名单,白名单都可以
pasv_min_port=61001(被动模式使用端口范围最小值)
pasv_max_port=62000(被动模式使用端口范围最大值)
pasv_enable=YES(pasv_enable=YES/NO(YES)
若设置为YES,则使用PASV工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
一、PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了xx端口,你过来连接我”。于是服务器从20端口向客户端的xx端口发送连接请求,建立一条数据链路来传送数据。
二、PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了xx端口,你过来连接我”。于是客户端向服务器的xx端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此
2.10安装redis
redis根目录下输入 make
测试 make test
如果出错的话
错误1:You need tcl 8.5 or newer in order to run the Redis test
解决:yum install tcl
错误2:[exception]: Executing test client: NOREPLICAS Not enough good slaves to write..NOREPLICAS Not enough good slaves to write.
解决:vim tests/integration/replication-2.tcl
after 1000改为after 10000
启动命令在./redis-server & &的作用是后台启动
在${redis}/src下
2.11安装git
解压git-2.16.3.tar.gz
编译sudo make prefix=/usr/local/git all
安装 sudo make prefix=/usr/local/git install
配置环境变量(/etc/profile)
#git
export PATH=/usr/local/git/bin:$PATH
1
2
查看版本信息 git --version
配置用户名git config --global user.name “xxx”
配置邮箱git config --global user.email 123@qq.com
查看配置结果 git config --list
其他配置
要是没装kdiff3不用设这一行 git config --global merge.tool “kdiff3
让git不要管windows/unix换行符转换的问题 git config --global core.autocrlf false
编码配置
避免git gui中的中文乱码 git config --global gui.encoding utf-8
避免get status显示的中文文件名乱码git config --global core.quotepath off
windows上还需配置 git config --global core.ignorecase false
git ssh key pai配置
ssh-keygen -t rsa -C 123@qq.com]
一路回车,不用输入任何密码 生成ssh key pair
ssh-add ~/.ssh/id_rsa 将key添加到ssh客户端
如果出现could not open a connection...的错误
先执行eval ssh-agent,在执行ssh-add ~/.ssh/rsa成功ssh-add -l就有新加的rsa了
cat ~/.ssh/id_rsa.pub 查看公钥
同一台电脑配置多个ssh-key
生成key
$ ssh-keygen -t rsa -C "xxxxxxx@qq.com" -f ~/.ssh/github_id_rsa 文件路径千万不能带引号
$ ssh-keygen -t rsa -C "xxxxxxx@qq.com" -f ~/.ssh/gitee_id_rsa
`cat ~/.ssh/github_id_rsa.pub`` 查看公钥并添加到网站
vim ~/.ssh/config
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
1
2
3
4
5
6
7
8
9
10
11
测试
执行 ssh -T git@gitee.com
成功则返回 Welcome to Gitee.com ,yourname!
执行 ssh -T git@github.com
成功则返回 Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
如果公钥设置没问题,连接过程一直显示无权限,检查密钥文件的用户和用户组
2.12安装Docker
前置条件
64-bit 系统
kernel 3.10+
检查内核版本,返回的值大于3.10即可
$ uname -r
卸载旧版本yum remove docker docker-common decker-selinux docker-engine
安装需要的软件包yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装dockeryum install –y dockery-ce
启动docker
$ systemctl start docker service
验证安装是否成功(有client和service两部分表示docker安装启动成功)
命令
docker pull [options] NAME[:TAG] 拉取镜像
NAME:镜像名 TAG:版本
docker images [options] [RESPOSITORY[:TAG]] 查看本地有哪些镜像
docker run [options] IMAGE[:TAG] [COMMOND] [ARG...]
docker run --help 查看docker命令帮助
docker run –d imageId 后台运行
docker exec --help 在运行的容器中执行命令
docker exec –it [镜像id] bash
1
2
3
4
5
6
7
8
9
3.linux的一些小技巧
1.alias字符串映射
配置在/etc/profile或者.bash_profile中
2.查看系统变量
echo $JAVA_HOME