本配置仅针对于JavaWeb项目
注意:以下安装大多使用YUM,CentOS 7自带本功能,如果yum list找不到相应的包,请先配置对应的库的路径
Java JDK
检查
#检查系统是否已安装了JDK,如果没有则没有输出 rpm –qa | grep java #卸载,内容由上面的输出而定 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 |
安装
#获取JDK安装列表 yum -y list java* #安装JDK yum -y install java-1.8.0-openjdk* #验证 java –version |
MySQL
检查
#查看是否存在 rpm -qa | grep -i mysql #卸载MySQL [root@localhost mysql]# rpm -aq | grep -i mysql MySQL-server-5.6.27-1.el6.x86_64 MySQL-client-5.6.27-1.el6.x86_64 MySQL-devel-5.6.27-1.el6.x86_64 [root@localhost mysql]# rpm -e MySQL-server-5.6.27-1.el6.x86_64 [root@localhost mysql]# rpm -e MySQL-client-5.6.27-1.el6.x86_64 [root@localhost mysql]# rpm -e MySQL-devel-5.6.27-1.el6.x86_64 #删除MySQL数据库目录 [root@localhost lib] rm -rf /var/lib/mysql #查找并删除mysql其他相关文件 [root@localhost usr]# whereis mysql mysql: /usr/lib64/mysql [root@localhost usr]# rm -rf /usr/lib64/mysql |
安装
#下载MySQL源 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm #安装MySQL源 yum localinstall mysql57-community-release-el7-8.noarch.rpm #安装MySQL yum install mysql-community-server #启动服务 systemctl start mysqld #查看启动状态 systemctl status mysqld #设置为开机启动 systemctl enable mysqld systemctl daemon-reload
#登录 mysql –uroot –p #日志文件:/var/log/var/log/mysqld.log中有初始化的密码 #设置密码,注意密码必须是大小写字母+数字+特殊符号 mysql> set password for root@‘%’ = password('uudbp@ssw0rd!@#'); #如果上面的无效改为下面的 mysql> ALTER USER USER() IDENTIFIED BY 'UUDBp@ssw0rd';
#mysql_secure_installation也可以设置密码
#MYSQL远程授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'uudbp@ssw0rd' WITH GRANT OPTION; flush privileges; |
基本配置
#安装完成后其配置文件位置 #配置文件:/etc/my.cnf 提供了下面信息 #my.cnf文件配置 #[mysqld]添加以下内容,后重启服务 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' |
自动备份
#编辑Shell脚本 vi databk.sh #内容如下 #!/bin/bash mysqldump –u用户 –p密码 库名 | gzip > /home/databack/data/data_$(date "+%Y%m%d_%H%M%S").sql.gz #添加权限,并执行测试 chmod u+x databk.sh ./databk.sh #添加定时任务 #检查是否安装Crontab crontab #添加任务 crontab –e #如VI一样编辑下面内容,每天凌晨4点执行 0 4 * * * /home/databack/databk.sh #查看任务日志 tail -f /var/log/cron #localhost CROND[3029]: (root) CMD (/home/databack/bk_kprd.sh)
参考于: linux下如何实现mysql数据库每天自动备份定时备份 https://www.cnblogs.com/taomylife/p/8022104.html Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html |
安全配置
更改远程的端口号
#修改my.cnf文件 [mysqld] port=3336 |
禁止ROOT用户远程登录(不能实时本地操作就不要这个了)
mysql>use mysql; |
删除除ROOT外的其他初始化用户
mysql> show databases; |
修改ROOT账号名称
mysql> update user set user="newroot" where user="root"; //改成不易被猜测的用户名 |
使用强密码
下面的参数控制着密码的强度 mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_dictionary_file | | | validate_password_length | 8 |#密码最小长度 | validate_password_mixed_case_count | 1 |#至少包含大小写字母个数 | validate_password_number_count | 1 |#至少包含数字个数 | validate_password_policy | MEDIUM|#密码强度 | validate_password_special_char_count | 1 |#特殊字符个数 +--------------------------------------+-------+ 6 rows in set (0.08 sec) |
使用一个独立且权限最小的Linux用户运行MySQL
#5.7的版本使用systemctl启动的都是用的mysql这个用户,不需要再处理 #通过ps –aux | grep mysql 可以查看运行用户 |
针对MySQL的目录及文件使用更高的权限
#给予下面的MySQL目录更高的权限 #配置文件:/etc/my.cnf 提供了下面信息 chown -R root /usr/local/mysql/ |
Redis
检查
#检查/usr/local/bin目录下是否存在 cd /usr/local/bin #如果要清理Redis,删除上述目录中与Redis相关的文件即可 |
安装
#如果系统中缺少相关的依赖程序,需要自己安装不然无法执行make,下面只列出了我遇到的 yum install gcc tcl jemalloc-devel -y #下载Redis,没有YUM源,下载解压请自己选择目录 wget http://download.redis.io/releases/redis-3.2.4.tar.gz #解压 tar zxvf redis-3.2.4.tar.gz #安装检查 make test #安装 make install #复制安装目录下的配置文件到/etc cp redis.conf /etc/ #修改配置文件 vi /etc/redis.conf #安装好后可执行文件一般在/usr/local/bin下 cd /usr/local/bin |
设置开机启动
拷贝Redis安装目录下的redis_init_script到/etc/init.d/redis
cp /usr/local/redis-4.0.2/utils/redis_init_script /etc/init.d/redis |
修改/etc/init.d/redis文件配置,把以下内容修改为自己的启动内容
#!/bin/sh # chkconfig: 2345 10 90 # description: Start and Stop redis # 必须有上面的内容 REDISPORT=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis.conf"
#如果设置了密码,修改$CLIEXEC -p $REDISPORT SHUTDOWN为 $CLIEXEC -a $AUTH -p $REDISPORT SHUTDOWN #添加AUTH密码 AUTH=123456
|
设为开机启动
chkconfig redis on |
使用systemctl命令
systemctl status redis #查看状态 systemctl start redis #启动 systemctl stop redis #停止 |
Nginx
安装
#安装YUM-Nginx源,有些YUM找不到Nginx需要安装源 yum install epel-release yum update #安装nginx yum install nginx.x86_64 #使用systemctl管理 systemctl start nginx #设置为开机启动 systemctl enable mysqld systemctl daemon-reload |
配置
#配置文件 vi /etc/nginx/nginx.conf #处理127.0.0.1无效 setsebool -P httpd_can_network_connect 1 |
Systemctl使用方法
查看 systemctl list-unit-files --type=service | grep enabled systemctl is-active [unit type] 查看服务是否运行 systemctl is-enabled [unit type] 查看服务是否设置为开机启动 systemctl list-dependencies [unit] [–reverse] 使用systemctl分析各服务之前的依赖关系 启动 systemctl start [unit type] 停止 systemctl stop [unit type] 重启 systemctl restart [unit type] 状态 systemctl status [unit type] 重新加载 systemctl reload [unit type] 开机启动 systemctl enable [unit type] 开机不启动 systemctl disable [unit type] |