亚马逊云服务器测试情况
需要外网(国际)才能登录;网址:https://956438185477.signin.aws.amazon.com/console
国际短信的话 在右上角区域区域选择弗吉尼亚北部,左边选择sms短信服务
视频加速要用到2个服务 视频加速区域不限 第一个服务是s3 先把视频上传到s3。然后通过第二个服务CloudFront进行视频加速。
- 创建存储桶(在S3创建)存储桶干嘛:存储视频&文件
- 给S3存储视频加速步骤如下:
1,创建分配
2,选“WEB”;点击“入门”
3,别名
4,上传视频和文件在S3上传(选择一个存储桶)在S3中打开是没有加速过的
测试视频加速服务方式:http://d189wvpn8xq391.cloudfront.net/
加上上传的视频名称“/”
文件名:1.安装enp.mp4
域名:d189wvpn8xq391.cloudfront.net
例如:http://d189wvpn8xq391.cloudfront.net/1.安装enp.mp4
CDN加速怎么控制权限,要不,这个URL,暴露出来后,就控制不住了?
在s3做储存桶建立的时候有相应的权限选择
加上上传的视频名称“/”
文件名:1.安装enp.mp4
域名:d189wvpn8xq391.cloudfront.net
例如:http://d189wvpn8xq391.cloudfront.net/1.安装enp.mp4
CDN加速怎么控制权限,要不,这个URL,暴露出来后,就控制不住了?
在s3做储存桶建立的时候有相应的权限选择
转存失败重新上传取消转存失败重新上传取消正在上传…重新上传取消正在上传…重新上传取消
存储桶,是个大概念,我们的权限是要精确控制到每个视频,有哪些用户可以访问
可以使用已签名的cookies和已签名的url进行分权
使用签名 URL 和签名 Cookie 提供私有内容 - Amazon CloudFront
对亚马逊云服务器的要求
需要做几个统一:
1、后台登陆IP(培训和评估)与我们的网站域名要统一,目前导航还没放进来,明年要放进来。
2、用户注册实现贡献,凡在培训和评估模块里注册了的,将来我们其他系统需要使用,后台授权的,可以用统一账号登陆,所以我们会建立统一管理平台。(船长意思,梅聪大概理解。国辉不太理解)
使用亚马逊cli上传视频(视频较大上传)
1.安装cli
https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/install-windows.html#install-msi-on-windows
这是适用于windows的cli安装方式
2.检查cli安装是否成功
C:\> aws --version
aws-cli/1.16.246 Python/3.7.4 Windows/10 botocore/1.12.236
3.配置
C:\Users\QJVOY>aws configure
ID:AKIA55MBIQYC2E7ZUH72
密钥:wfCdtBtzAmGC38gu4yO9Cf2kh3rwk+wtJDvd1jNM
AWS Access Key ID [None]: AKIA55MBIQYC2E7ZUH72
AWS Secret Access Key [None]: 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
Default region name [None]: us-east-2
Default output format [None]: json
4.列出s3存储桶列表,上传视频
C:\Users\QJVOY>aws s3 ls
2019-10-15 14:17:15 test-video
2019-11-08 16:50:55 test-for-cdna
2019-11-07 16:59:35 test-for-media
5.进入存储桶,列出存储桶的文件
C:\Users\QJVOY>aws s3 ls s3://test-video
2019-10-15 14:18:52 33668325 1.安装enp.mp4
2019-10-18 14:49:25 52304947 bbb.mp4
6.上传视频和文件
C:\Users\QJVOY>aws s3 cp C:\Finish.log s3://qjvoy-test-video/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
upload: ..\..\Finish.log to s3://test-video/Finish.log
参考文档命令:
aws s3 cp file.txt s3://my-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com
腾讯云服务器情况
ftpuser可访问及交互传输文件的linux系统路径
/var/www/ftpfile
新增FTP用户,限制root登录ssh和FTP,新建用户实际操作
新增ftp用户
1.安装vsftpd
yum install vsftpd
2. 编辑ftp配置文件
vim /etc/vsftpd/vsftpd.conf
<!-- YES 改成 NO -->
anonymous_enable=NO
<!-- 去掉前面的# -->
chroot_local_user=YES
<!--添加下面一行代码-->
allow_writeable_chroot=YES
3. 启动/重新启动ftp
systemctl stop vsftpd.service
systemctl start vsftpd.service
4. 设置开机启动ftp
systemctl enable vsftpd.service
5. 防火墙配置(iptables)
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
6. 防火墙重新启动
systemctl restart iptables.service
7. 建立ftp账户
useradd -d /var/www/ftpfile -s /sbin/nologin ftpuser
8. 修改密码
passwd ftpuser
ftpuser
修改:vim /etc/pam.d/vsftpd
注释掉一下这一行:
#auth required pam_shells.so
9.设置账户权限
<!--更改目录所有者-->
chown ftpuser /var/www/ftpfile
<!--更改目录权限-->
chmod -R 755 /var/www/ftpfile
使用ftp登录要设置”传输设置”为“主动”
可以禁止root用户登录,不过必须先创建一个用户,然后禁止root用户登录:
修改相关文件
vim /etc/ssh/sshd_config
SSH执行以上命令,修改sshd_config文件
禁止root登陆
查找“#PermitRootLogin yes”,将前面的“#”去掉,短尾“Yes”改为“No”,并保存文件。
重启sshd服务生效。
systemctl restart sshd
关闭root用户的ssh登录
1. 使用root账户登录系统,添加一个普通账户例如test,并为其设置密码
useradd test
passwd ********
2. 修改配置文件
修改相关文件
vim /etc/ssh/sshd_config
SSH执行以上命令,修改sshd_config文件
禁止root登陆
查找“#PermitRootLogin yes”,将前面的“#”去掉,短尾“Yes”改为“No”,并保存文件。
编辑配置文件/etc/ssh/sshd_config修改PermitRootLogin后面的yes为no,并且去掉前面的注释符,同时可以限制失败次数
注意: 这个失败次数是对所有用户都起作用的。
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
MaxAuthTries 3
#MaxSessions 10
3. 重启sshd服务
systemctl restart sshd.service
此时再用root用户登录,此时再用root用户登录,如果不能登录则代表配置成功。如果需要使用root权限,可以使用su或者sudo进行切换。
注意:禁用root用户后使用sftp时可能出现登录不了的问题,目前还没找到解决办法
限制root账户登录ftp
解决方法:
在命令行下进到/etc/vsftpd目录
cd /etc/vsftpd
修改里面的2个文件,ftpusers和user_list
vi ftpusers
点i,进入编辑模式,第二行会看到root,只要加上#在前面就允许root,把#去掉就禁止root登录了
然后按ESC退出编辑模式,输入:wq保存退出 最后重启vsftpd service vsftpd restart 最好设置为开机自启动 chkconfig vsftpd on
FTP用户登录到Filezilla
传输设置中传输模式设置为”主动”
CentOS防火墙端口关闭的方法
背景:保留9092 和 8085端口打开,其他的端口在需要使用的时候再打开,使用完毕后立即关闭。
关闭端口时,有两个地方需要同时操作,一个是云服务器,一个是centos的防火墙。
CentOS7之前用来管理防火墙的工具是iptable,CentOS 7之后使用的是Firewall
查看centOS的版本:# cat /etc/redhat-release
查看centOS是64位还是32位:
查看CentOS版本信息_树上骑个猴的博客-CSDN博客_查看centos版本
备份war包
命令:
cp /home/program/tools/apache-tomcat-8.5.39/webapps/qjvoy.war /home/admin/http\:/94.191.26.250\:9092/fileUpload/
war包备份好了放在在fileUpload里面下载到本地电脑
从服务器导出数据库并下载到电脑
数据库地址:/home/program/tools/mysql-5.7.12/bin/
# cd /home/program/tools/mysql-5.7.12/bin/
# mysqldump -u root -p moodle > moodle_20191029.sql
提示输入数据库密码,导出的.sql在bin文件夹下
ftpuser的访问目录:/var/www/ftpfile
# mv moodle_20191029.sql /var/www/ftpfile
cd 到webapps目录,并压缩:
需要屏蔽的是文件修改的报错:
file-changed
`%s: file changed as we read it'
所以,只需要在打包命令中增加以下参数即可:
--warning=no-file-changed
# cd /home/program/tools/apache-tomcat-8.5.39/webapps/
# tar --warning=no-file-changed -zcvf fileUpload.tar.gz fileUpload
# mv fileUpload.tar.gz ./fileUpload
服务器崩溃重启服务器步骤
1. 重启腾讯云服务器
2. 查看进程
ps -ef|grep java
3. 结束进程
kill -9 进程号
4. 启动项目(注意是在root下运行)
/etc/init.d/tomcat_qjvoy start
查看运行日志目录:tomcat/logs
具体目录(查看报错信息):
/home/program/tools/apache-tomcat-8.5.39/logs
挂载磁盘以及分区步骤
说明书解析链接:
https://cloud.tencent.com/document/product/213/17487
手动格式化并挂载数据盘
请根据以下步骤格式化并挂载数据盘。
• 注意:执行下述命令时,请注意修改数据盘盘符,本示例假设数据盘盘符为vdb。
步骤一:格式化数据盘
• 注意:在进行分区格式化时,开发者可以自行决定文件系统的格式,如ext3、ext4等。示例采用ext4格式。
执行 mkfs 命令对数据盘进行格式化:mkfs.ext4 /dev/vdb
步骤二:挂载数据盘
1. 创建挂载点 data 目录:
2. mkdir /data
3. 挂载新分区:
4. mount /dev/vdb /data
5. 验证数据盘是否挂载成功:
6. df -h
出现如下信息则说明挂载成功,即 Linux 服务器已经挂载数据盘:
Filesystem Size Used Avail Use% Mounted on
/dev/vdb 50G 53M 47G 1% /data
步骤三:实现开机自动挂载
添加数据盘挂载信息至/etc/fstab,实现开机自动挂载。
当您希望云服务器在重启或开机时能自动挂载数据盘,必须将数据盘挂载信息添加到/etc/fstab中。否则云服务器重启或开机后,不会自动挂载数据盘。
1. 使用以下命令添加分区信息:
2. echo '/dev/vdb /data ext4 defaults 0 0' >> /etc/fstab
3. 使用以下命令查看分区信息:
4. cat /etc/fstab
出现如下信息则说明添加数据盘挂载信息成功:
/dev/vdb /data ext4 defaults 0 0
自动格式化并挂载数据盘
在腾讯云的 Linux 服务器上,您可以通过运行以下 Shell 脚本来实现自动格式化和挂载数据盘:
https://www.jb51.net/article/161001.htm
• 以下是脚本文件命名XXX.sh;运行命令是:sh XXX.sh
#!/bin/bash
type=ext4
mount_dir=/data
mkfs.$type /dev/vdb
mkdir -p $mount_dir
echo "/dev/vdb $mount_dir $type defaults 0 0" >> /etc/fstab
mount -a
云服务器开放、关闭端口步骤
云服务器 à 安全组 à 添加规则
目前系统服务器的情况是这样:服务器数据库被黑客删了,然后注入了病毒,还新建了一个数据库,显示了勒索消息,要支付0.03比特币(2220.0 RMB)才能恢复备份。目前已经关闭3306端口,我正想办法设置每日备份和每日杀毒。目前系统里可能还藏有黑客植入的勒索病毒,可能无法根除,请问是否要重装服务器系统。
3306需要关闭,需要支付比特币特案
数据库备份的还原或测试是否可用
1.解压备份文件:gunzip ********.gz(”*”表示文件)
# gunzip moodle_201908281154.sql.gz
2.登录mysql数据库:login mysql
#mysql -uroot -p*********
3.创建用于测试的数据库,并将数据文件导入:
#create database moodleTest
#use database moodleTest
source dir/****.sql
#source /home/program/job/moodle_201908281154.sql
4.找到项目中配置文件的jdbc.properties,把里面的数据库名换成moodleTest
#vim /home/program/tools/apache-tomcat-8.5.39/webapps/qjvoy/WEB-INF/classes/jdbc.properties
5.找到项目中配置文件的config.php改数据库名换成moodleTest
#vim /var/www/html/moodle/config.php
6.重启tomcat
查看进程
ps -ef|grep java
结束进程
kill -9 进程号
启动项目(注意是在root下运行)
/etc/init.d/tomcat_qjvoy start
6.重启apache
7.测试系统是否正常
8.还原换来的数据库名,重启tomcat
数据库密码设定方法
远程连接密码设定:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ' PASSORD' WITH GRANT OPTION;
FLUSH PRIVILEGES;
service mysql stop
service mysql start
设置数据库每日自动备份
mysql 自动备份脚本
参考文档:https://www.cnblogs.com/zuidongfeng/p/9416226.html
第一步:编写数据库备份脚本database_mysql_shell.sh
进去脚本存放路径:$ cd /home/program/job
create database_mysql_shell.sh:$ vi database_mysql_shell.sh
copy content to it.(复制如下内容)
#!/bin/bash
DATE=`date +%Y%m%d%H%M` #every minute
DATABASE=moodle #database name
DB_USERNAME=root #database username
DB_PASSWORD=PASSORD #database password
BACKUP_PATH=/home/program/job #backup path
#backup command
/home/program/tools/mysql-5.7.12/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R --opt $DATABASE | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz
#just backup the latest 5 days
find ${BACKUP_PATH} -mtime +5 -name "${DATABASE}_*.sql.gz" -exec rm -f {} \;
第二步:给脚本授权
chmod +x database_mysql_shell.sh
第三步:编写定时备份任务
vim /var/spool/cron/root
写入如下命令,测试每5分钟备份一次,看是否成功:
*/5 * * * * /home/program/job/database_mysql_shell.sh
保存。
重启动
systemctl restart crond
若成功,改回一天备份一次,每日02:00开始备份moodle数据库:
0 2 * * * /home/program/job/database_mysql_shell.sh
重启动
systemctl restart crond
操作数据库实现培训系统课程目录的递归转移
例子:
update t_contents_tree SET PARENT_ID='67b61687ee2711e9bf03525400d2f1a6' WHERE ID='4f006e8c6a2811e9a66b525400cee0fa';
update t_contents_tree SET PARENT_ID='67b61687ee2711e9bf03525400d2f1a6' WHERE ID='1c1facbc6a2f11e9a66b525400cee0fa';
update t_contents_tree SET PARENT_ID='67b61687ee2711e9bf03525400d2f1a6' WHERE ID='60c65d43cdf811e9bf03525400d2f1a6';
update t_contents_tree SET PARENT_ID='67b61687ee2711e9bf03525400d2f1a6' WHERE ID='6404117aebff11e9bf03525400d2f1a6';
找到要转移的目录及待转移的目录的ID,使用如上语句操作转移
培训系统网站后台管理及视频制作
选“WEB”;点击“入门”
别名
上传视频和文件在S3上传(选择一个存储桶)在S3中打开是没有加速过的
- 跳转到数据库地址
- 导出数据库
- 从bin 文件夹下复制到ftpuser可以访问的目录
- 使用FileZilla登录ftpuser下载到电脑本地
- 压缩fileUpload文件夹:
- 将压缩包移动到fileUpload下