@wxf
2018-11-21T09:20:04.000000Z
字数 12671
阅读 1307
Linux
安装包(jdk1.8.0_92)密码:58mj
解压安装包
# 解压到opt目录
tar -zxvf jdk-8u92-linux-x64.tar.gz -C /opt
配置环境变量
在CentOS版的Linux系统中,/etc/profile.d文件夹下存在着若干个.sh
类型的脚本文件,所有的.sh
文件在系统启动时都会被默认扫描到,所以我们可以在profile.d
文件夹下进行各种环境变量配置。比如新建一个java.sh
用来配置JDK的环境变量。
# 1.在/etc/profile.d下新建一个java.sh文件
vi /etc/profile.d/java.sh
# 2.在java.sh中编辑如下内容
JAVA_HOME=/opt/jdk1.8.0_92
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
校验
执行java -version
命令,查看安装的JDK版本信息。
在终端使用echo命令检查环境变量设置情况。
echo $JAVA_HOME
echo $CLASSPATH
echo $PATH
安装包(apache-tomcat-7.0.69)密码:3gjw
解压缩安装包
# 解压到opt目录
tar -zxvf apache-tomcat-7.0.69.tar.gz -C /opt
修改字符编码和运行模式
进入Tomcat安装的目录的conf文件夹,编辑server.xml
vi /opt/apache-tomcat-7.0.69/conf/server.xml
修改字符编码,找到Connector
节点并添加URIEncoding="UTF-8"
属性。
修改运行模式,找到Connector
节点将protocol
的属性值改为:
org.apache.coyote.http11.Http11NioProtocol
。
设置开机启动
在/etc/rc.d/rc.local文件中添加Tomcat的启动命令,如下:
export JAVA_HOME=/opt/jdk1.8.0_92 # 配置JAVA_HEMO信息
/opt/apache-tomcat-7.0.69/bin/startup.sh # 启动Tomcat
常用命令
# 启动
/opt/apache-tomcat-7.0.69/bin/startup.sh
# 关闭
/opt/apache-tomcat-7.0.69/bin/shutdown.sh
# 启动并查看控制台
/opt/apache-tomcat-7.0.69/bin/startup.sh && tail -f /opt/apache-tomcat-7.0.69/logs/catalina.out
校验
通过浏览器访问:http://ip地址:8080(如:http://172.18.66.23:8080)
设置防火墙权限
# 编辑防火墙规则,执行如下命令
iptables -I INPUT 2 -p tcp --dport 8080 -j ACCEPT --开启8080端口
#将上面的规则写入到/etc/sysconfig/iptables,设置为永久起效
service iptables save
安装包(maven-3.5.0) 密码: 8hf7
解压缩安装包
# 解压到opt目录
tar -zxvf apache-maven-3.5.0-bin.tar.gz -C /opt
# 1.在/etc/profile.d下新建一个maven.sh文件
vi /etc/profile.d/maven.sh
# 2.在maven.sh中编辑如下内容
MAVEN_HOME=/opt/apache-maven-3.5.0
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH
校验
执行mvn -version
命令,查看maven的安装版本
更改yum源地址,阿里云源配置官网http://mirrors.aliyun.com/help/centos
使用yum命令安装MySQL数据库,yum仓库默认数据库版本:mysql-server-5.1.73-8.el6_8.x86_64
执行安装命令
#安装
yum -y install mysql-server
#检查是否已经安装mysql-server
rpm -qa | grep mysql-server
设置字符集
MySQL自启动配置
防火墙配置
# 编辑防火墙规则,执行如下命令
iptables -I INPUT 2 -p tcp --dport 3306 -j ACCEPT --开启3306端口
#将上面的规则写入到/etc/sysconfig/iptables,设置为永久起效
service iptables save
MySQL启动、停止、重启
service mysqld start|stop|restart或
/etc/rc.d/init.d/mysqld start|stop|restart
MySQL配置
查看当前MySQL的用户:
select user, host, password from mysql.user;
修改root密码:
set password for root@localhost=password('root');
删除匿名用户,执行如下语句:
delete from mysql.user where user = '';
#刷新,使以上操作生效
flush privileges;
插入MySQL新用户
insert into mysql.user(Host, User, Password) values("localhost", "yourname",password("yourpassword"));
#刷新,使以上操作生效
flush privileges;
为用户授权
# 给本地用户赋予所有权限
grant all privileges on ${数据库}.* to ${用户名}@'localhost' identified by '${密码}';
# 给外网用户赋予所有权限
grant all privileges on ${数据库}.* to ${用户名}@'%' identified by '${密码}';
# 示例
grant all privileges on *.* to root@'%' identified by '123456';
卸载MySQL
# 检查mysql相关安装信息
[root@localhost ~]# rpm -qa | grep mysql
[root@localhost ~]# mysql-5.1.73-8.el6_8.x86_64
[root@localhost ~]# mysql-libs-5.1.73-8.el6_8.x86_64
[root@localhost ~]# mysql-server-5.1.73-8.el6_8.x86_64
# 卸载
[root@localhost ~]# yum remove mysql mysql-server mysql-libs
安装包
MySQL-server-5.5.48-32位 密码:xwx8
MySQL-server-5.5.59-64位 密码:m83d
MySQL-client-5.5.48-32位 密码:k3pe
MySQL-client-5.5.59-64位 密码:3ifi
官方:下载地址
安装MySQL服务端
特别需要注意查看MySQL安装包是否与操作系统相匹配,比如不要在64位系统上安装32位程序,否则在安装时会报错:
error: Failed dependencies:
。或者启动MySQL服务器也会报错:/lib/ld-linux.so.2: bad ELF interpreter
。这些错误都表示我们的安装包存在问题。
# 安装服务端
rpm -ivh MySQL-server-5.5.59-1.el6.x86_64.rpm
安装MySQL客户端
# 安装客户端
rpm -ivh MySQL-client-5.5.59-1.el6.x86_64.rpm
检查当前系统是否安装过MySQL与卸载安装
# 检查命令
rpm -qa|grep -i mysql
# 卸载命令
rpm -e RPM软件包名(该名字是上一个命令查出来的名字)
MySQL服务启动和停止
启动/停止数据库
# 服务启动/停止
service mysql start/stop
在安装后初次启动MySQL时,系统报出了如下错误:
当遇到这样的问题是查看MySQL日志是非常有效的方法,查看日志:cat /var/lib/mysql/localhost.localdomain.err
,输出内容如下
通过日志可以看出此问题的原因是没有进行初始化库。
# 数据库初始化
mysql_install_db --user=mysql --ldata=/var/lib/mysql/
开机自启动
# 设置开机自启动
chkconfig mysql on
通过以下方式来验证开机启动是否设置成功
# 查看MySQL的运行级别
chkconfig --list | grep mysql
# 查看开机自启动服务 | 在前面的[]中有*就表示该服务以设置开机自启动
ntsysv
查看MySQL的安装位置
这里的安装位置是指MySQL数据库的数据库
# 查看方式
ps -ef|grep mysql
MySQL进程相关信息:
说明:
路径 | 解析 | 备注 |
---|---|---|
/var/lib/mysql | 数据库文件的存放路径 | /var/lib/mysql/at |
/usr/share/mysql | 配置文件目录 | mysql.server命令及配置文件 |
/usr/bin | 相关命令目录 | mysqladmin、mysqldump等命令 |
/etc/init.d/mysql | 启停相关脚本 | /etc/init.d/mysql start 或 stop |
MySQL的用户和组
查看MySQL的用户和组信息
# 查看用户
cat /etc/passwd|grep mysql
# 查看组
cat /etc/group|grep mysql
为MySQL用户设置密码
# 设置root的密码
/usr/bin/mysqladmin -u root password 123456
MySQL配置文件
主要配置文件
二进制日志log-bin
主要用于主从复制
错误日志log-error
默认是关闭状态,记录严重的警告和错误信息,每次启动和关闭的详细信息等。
查询日志log
默认关闭,记录查询的sql语句。慢查询日志。
数据文件
- frm文件:存放表结构
- myd文件:存放表数据
- myi文件:存放表索引
如何配置
- Windows
MySQL的配置文件名为my.ini- Linux:
MySQL的配置文件为/etc/my.cnf(原厂配置文件的备份)
5.5版本原厂配置文件: /usr/share/mysql/my-huge.cnf
5.6版本原厂配置文件: /usr/share/mysql/my-default.cnf
对于原厂配置文件我们最好不要进行直接修改,通常做法是将配置文件拷贝到etc目录下并命名为my.cnf,修改时只需修改/etc/my.cnf文件即可。
修改字符集、数据存储路径
修改字符集
MySQL服务端默认采用的是latin1编码,所以在保存中文时会出现乱码问题。
# 查看字符集
show variables like '%char%'
# 修改MySQL配置文件
vim /etc/my.cnf
# 在如下节点添加如下内容
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
安装
下载安装包:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.4.tgz
参考:
环境配置
Linux下Mongodb安装和启动配置
在 Linux 上配置 mongodb
让MongoDB能够远程连接
MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)
搭建 MongoDB分片(sharding) / 分区 / 集群环境
使用(增删改查)
MongoDB专栏
mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
spring data mongodb学习以及为repository提供可扩展的自定义方法
Java操作MongoDB采用MongoRepository仓库进行条件查询
Spring boot中mongodb的使用(MongoTemplate )
Spring Data MongoDB专栏
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它具有很多其他的FTP服务器不支持的特征。
安装
# 使用yum安装vdftpd
yum install -y vsftpd
# 在根目录上创建一个FTP服务器的工作目录
cd /
mkdir ftpfile
注:
(1)、可以通过rpm -qa | grep vsftpd
命令来检查是否安装veftpd
(2)、默认配置文件在/etc/vsftpd/vsftpd.conf
创建虚拟用户
该用户只对ftpfile目录有上传权限并且没有登录权限。
# 添加用户
useradd ftpuser -d /ftpfile/ -s /sbin/nologin
# 设置权限
chown -R ftpuser.ftpuser /ftpfile/
此时查看ftpfile的用户权限,如下:
重置用户密码
passwd ftpuser
# 根据提示信息设置密码即可(如:123456)
此时可以向ftpfile文件中添加一些文件
配置FTP服务器
配置FTP服务器指向刚刚创建的ftpfile文件,并配置上用户信息。常用配置项参考
# 编辑文件
vi /etc/vsftpd/vsftpd.conf
# 配置如下信息
ftpd_banner=Welcome to wxf FTP service. # 欢迎信息
use_localtime=YES # 使用系统时间
local_root=/ftpfile #将本地目录指向ftpfile文件夹
anonymous_enable=NO #是否允许匿名访问
anon_root=/ftpfile #匿名访问时指向ftpfile文件夹
chroot_list_enable=YES # 是否启用chroot_list_file配置项指定用户列表文件
chroot_list_file=/etc/vsftpd/chroot_list # 指定用户列表文件
pasv_min_port=61001 #被动传输使用端口范围最小值
pasv_max_port=62000 #被动传输使用端口范围最大值
#在/etc/vsftpd/chroot_list中添加用户信息
vi /etc/vsftpd/chroot_list
ftpuser
# 保存退出
#重启服务器
service vsftpd restart
解决拒绝访问问题
# 编辑文件
vi /etc/selinux/config
# 修改配置
将SELINUX=enforcing修改为SELINUX=disabled
# 保存退出并重启Linux服务器
reboot
注:如果还是会碰到550拒绝访问的情况,请执行:
setsebool -P ftp_home_dir 1
vsftpd的启动、停止、重启命令
service vsftpd start|stop|restart
设置开机启动
在/etc/rc.d/rc.local文件中添加vsftpd的启动命令,如下:
service vsftpd start
防火墙设置
# 编辑防火墙规则,执行如下命令
iptables -I INPUT 2 -p tcp --dport 20 -j ACCEPT --开启20端口
iptables -I INPUT 2 -p tcp --dport 21 -j ACCEPT --开启21端口
iptables -I INPUT 2 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT -开启21主动端口
iptables -I INPUT 2 -p tcp --dport 61001:62000 -j ACCEPT --开启被动端口
#将上面的规则写入到/etc/sysconfig/iptables,设置为永久起效
service iptables save
校验
通过浏览器访问:ftp://ip地址(如:ftp://172.18.66.23)
扩展—在Windows系统中搭建FTP服务器
因为vsftpd官方不提供Windows版,所以在Windows系统中可以使用ftpserver搭建FTP服务器。安装包
解压缩安装包后,双击即可运行,如下图:
注意:FTP服务在通过数据端口传输数据时是不加密的,安全系数低。可以使用SSH为FTP数据传输进行加密,即:SFTP。
在某些情况下,我们需要允许指定用户可以传输文件到Linux系统中,但是不允许使用SSH,要实现这一目的我们可以使用SFTP(安全文件传输),并构建chroot环境(修改参考的根目录位置)。一般只要服务器开启了SSH服务默认就可以使用SFTP服务,只要设置一下权限即可,比如:将用户限制到某个目录下。
查看系统环境
# 查看SSH服务的版本
ssh -V
# 需要OpenSSH4.8p1以后的版本,因为要使用chroot设置根目录。
SFTP服务搭建及基础配置
创建跟目录和用户组
# 创建更目录
mkdir /sftp
# 设置属主与权限
chown root:root /sftp
chmod 755 /sftp
# 创建用户组
groupadd sftp
修改SSH配置文件(设置SFTP服务用户目录权限)
# 备份配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# 修改配置文件
vim /etc/ssh/sshd_config
# 修改内容如下:
1.注释掉如下内容:
# Subsystem sftp /usr/lib/openssh/sftp-server
2.添加如下内容:(文件末尾添加)
# 使用系统默认的sftp服务
Subsystem sftp internal-sftp
# 匹配组名 sftp
Match Group sftp
# 指定活动目录
ChrootDirectory /sftp/%u
# 禁用端口转发
AllowTcpForwarding no
X11Forwarding no
# 强制执行内部SFTP,并忽略任何~/.ssh/rc中的命令
ForceCommand internal-sftp
注意:
1.由ChrootDirectory指定的目录开始一直往上到系统根目录的目录属主都是root。
2.由ChrootDirectory指定的目录开始一直往上到系统根目录都不可以具有群组写入权限。
以上配置内容完成后,添加用户信息即可使用。
万事俱备只欠东风——创建用户
# 创建用户sftpadmin
useradd -d /sftp/sftpadmin -m -g sftp -s /bin/false sftpadmin
-d:家目录;-m:创建家目录;-g:组;-s:shell
# 生成密码
mkpasswd sftpadmin # 可以使用yum -y install expect安装相应的包
# 设置密码
passwd sftpadmin
# 设置属主及权限
chown root:sftp /sftp/sftpadmin
chmod 755 /sftp/sftpadmin
# 创建数据目录
mkdir /sftp/sftpadmin/data
# 创建数据目录权限
chown -R sftpadmin:sftp /sftp/sftpadmin/data
安装包(nginx-1.12.0)密码: 7wvi
高稳定
高性能
资源占用少
模块化结构
支持热部署
安装
检查和安装依赖项
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
解压缩安装包,并跳转到解压后的文件夹
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
执行配置信息,通过--prefix配置安装路径
./configure --prefix=/opt/nginx
执行编译安装
make && make install
配置Nginx服务器
主配置文件
# 编辑主配置文件
vi /opt/nginx/conf/nginx.conf
# 添加引入文件命令,这样配置便于维护, 每一个域名都单独做一个conf文件
include vhost/*.conf;
从配置文件
这里有两个域名:www.wxf.com和image.wxf.com。分别为每个域名配置一个.conf
配置文件
cd /opt/nginx/conf/vhost
# 创建 www.wxf.com.conf 文件
vi www.wxf.com.conf
# 编辑配置信息
server {
listen 80;
autoindex on;
server_name www.wxf.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 / {
proxy_pass http://127.0.0.1:8080/;
add_header Access-Control-Allow-Origin '*';
}
}
# 创建 image.wxf.com.conf 文件
vi image.wxf.com.conf
# 编辑配置信息
server {
listen 80;
autoindex off; # 不允许自动创建目录索引
server_name image.wxf.com;
access_log /opt/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* {
deny all;
}
location / {
root /ftpfile/;
add_header Access-Control-Allow-Origin *;
}
}
设置开机启动
在/etc/rc.d/rc.local文件中添加ndinx的启动命令,如下:
/opt/nginx/sbin/nginx
常用命令
测试配置文件
/opt/nginx/sbin/nginx -t
启动命令
/opt/nginx/sbin/nginx
停止命令
/opt/nginx/sbin/nginx -s stop
或者
/opt/nginx/sbin/nginx -s quit
重启
/opt/nginx/sbin/nginx -s reload
查看Nginx的进程
ps aux | grep nginx
或者
ps -ef | grep nginx
或者查看所有
ps -lA
注:master进程为主进程,也就是守护进程;worker进程为工作进程,也就是处理响应和请求。
平滑重启
kill -HUP [Nginx主进程号(即查看进程命令查到的PID)]
设置防火墙权限
# 编辑防火墙规则,执行如下命令
iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT --开启80端口
#将上面的规则写入到/etc/sysconfig/iptables,设置为永久起效
service iptables save
Redis缓存
安装包(redis-3.0.2.tar.gz)密码: n7at
安装依赖环境
# 依赖环境
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl
下载安装包并解压
# 下载安装包
wget http://download.redis.io/releases/redis-3.0.2.tar.gz
# 解压到opt目录
tar -zxvf redis-3.0.2.tar.gz -C /opt
编译安装
# 进入到redis文件解压目录
cd redis-3.0.2
# 执行编译
make
# 执行安装
make install
# 启动
redis-server
redis配置文件迁移
# 将redis.conf配置文件拷贝到etc文件夹下并以端口号进行区分(注意:也可以拷贝到其他目录)
cp redis.conf /etc/redis-6379.conf
# 编辑redis-6379.conf文件
vi /etc/redis-6379.conf
常用属性及修改说明(以redis-6379.conf为例)
属性 | 修改为 | 原始值 | 备注 |
---|---|---|---|
daemonize | yes | no | redis运行模式,这里改为后台运行 |
pidfile | /var/run/redis-6379.pid | /var/run/redis.pid | 记录redis运行的进程号,这里以端口号进行区分 |
post | 6379 | 端口号,这里暂不修改 | |
save * * | 注掉 | RDB持久化策略 | 【可选配置】注掉RDB持久化 |
maxmemory | 100m | (无) | 最大内存,这里设置为100m |
cluster-enabled | yes | 注掉 | 开启集群 |
cluster-config-file | nodes-<端口>.conf | 注掉 | 指定配置文件即可,该文件不需要进行维护 |
启动并登录客户端
# 启动
redis-server /etc/redis-6379.conf
# 登录客户端
redis-cli
# 停止
redis-cli shutdown
Git是一款免费、开源的分布式版本控制系统
安装包(git-2.9.0.tar.gz)密码: qpce
解压安装包
# 解压到opt目录
tar -zxvf git-2.9.0.tar.gz -C /opt
安装Git依赖
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
编译安装
将Git安装在“/opt/git-2.9.0”目录下。
make prefix=/opt/git-2.9.0 all
make prefix=/opt/git-2.9.0 install
设置环境变量
修改“/etc/profile”文件(或者/etc/bashrc文件)。
vi /etc/profile
然后在文件的最后一行,添加下面的内容,然后保存退出。
export PATH=/opt/git-2.9.0/bin:$PATH
使用source命令使环境变量立即生效
source /etc/profile
查看git版本及安装路径
#查看git版本
git --version
#查看git安装路径
whereis git
subversion软件包已包含服务端和客户端
安装SVN
#安装命令
yum -y install subversion
#查看是否已经安装SVN
rpm -qa subversion
#查看SVN的安装地址
whereis subversion
版本库的创建和删除
创建版本库
#在根路径下创建svnroot文件夹,用于存放版本库
mkdir svnroot
#创建一个名为lib的版本库
svnadmin create /svnroot/lib
删除版本库
rm -rvf /svnroot/lib
版本库配置及权限分组
配置文件位于/svnroot/lib/conf/,分别是:
authz
--配置用户组以及用户组权限
passwd
--配置用户名和密码
svnserve.conf
--配置默认权限、权限配置文件及密码配置文件
配置svnserve.conf
重要配置信息如下:
[general] #常规配置
anon-access = none #匿名用户的权限
auth-access = write #认证通过后的权限
password-db = passwd #指定用户及用户密码配置的文件路径
authz-db = authz #指定权限分组的配置文件
realm = My First Repository
配置passwd
配置用户及密码信息
[users] #用户配置
wxf = wxf
配置authz
[aliases] #别名配置(使用较少)
[groups] #用户组配置(格式:用户组=用户名列表)
pm=产品经理
dev=开发组
rookie=菜鸟组
[/] #适用于所有指向该权限组配置文件的版本库
@pm=rw #r:更新;w:提交
@dev=rw
@rookie=rw
[版本库:/] #适用于指定的版本库
@pm=rw
具体用户名=r
[repos:/具体文件目录]
*=r #所有用户只有更新权限
启动、停止SVN版本库
SVN默认端口是3690
#启动
svnserve -d -r /svnroot/lib
#停止
killall svnserve
svnserve -d -r /svnroot/lib
完成上述操作后,可以通过地址:svn://123.56.22.188/lib
访问并提交代码到SVN服务器
svn强制要求提交注释
svn强制要求提交注释--pre-commit钩子
安装包(apache-activemq-5.15.2) 密码: ny2v
解压安装包
# 解压到opt目录
tar -zxvf apache-activemq-5.15.2-bin.tar.gz -C /opt
启动与关闭ActiveMQ
# 将目录切换到bin文件夹下
cd apache-activemq-5.15.2/bin
# 启动执行如下命令
./activemq start
# 关闭执行入校命令
./activemq stop
如图启动成功:
访问ActiveMQ
http://192.168.137.11:8161/