宝塔国际版aapanel(宝塔海外版)

简单介绍 aapanel是宝塔单独运维的海外英文版本,无需登陆即可使用。 目前国内访问aapanel官网会跳转到bt.cn因此我复制了一份在这里方便大家安装。 安装要求 内存:512M以上,推荐768M以上(纯面板约60M系统内存) 硬盘:100M以上可用硬盘空间(纯面板约20M磁盘空间) 系统:CentOS 7.1+(Ubuntu20、Debian10),保证是干净的操作系统,没有安装Apache/Nginx/php/MySQL的其他环境(现有环境不能安装) Centos安装命令: yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh forum Ubuntu/Deepin : wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh forum Debian : wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh forum

在 Vim 中显示行号的几种方法

在 Vim 中显示行号,你可以使用以下几种方法: 临时性显示行号 在 Vim 中输入以下命令: :set number 这会立即在当前 Vim 会话中显示行号。当你关闭 Vim 之后,行号设置不会保存。 如果你只想显示相对行号,可以使用: :set relativenumber 要同时显示绝对行号和当前行号用绝对值,其余用相对值,可以这样做: :set number relativenumber 永久性显示行号 要使得每次打开 Vim 时都显示行号,你可以将设置添加到你的 Vim 配置文件(通常是 ~/.vimrc 文件)中。打开你的 ~/.vimrc 文件,并添加以下行: set number 同样,对于相对行号的永久性设置,可以添加: set relativenumber 或者同时添加绝对和相对行号: set number relativenumber 切换行号显示 如果你想要设置一个快捷键来切换行号显示,可以在你的 ~/.vimrc 中添加以下命令。例如,使用 键来切换: nnoremap <F2> :set number! number?<CR> 这条命令会切换行号显示状态,并在 Vim 的命令行上显示当前的行号状态(启用或禁用)。 总结 根据你的需要,你可以选择临时性或永久性显示行号,并且可以通过编辑 ~/.vimrc 文件来设置快捷键方便地切换行号显示。这些方法可以帮助你更好地在 Vim 中进行编辑和导航。

linux查找字符串命令

在Linux中,可以使用多个命令来查找特定的字符串。下面是几个常用的命令: 1. grep命令:grep命令用于在文件中搜索特定字符串。它的基本语法如下: grep 搜索模式 例如,要在文件”file.txt”中查找字符串”hello”,可以使用以下命令: grep “hello” file.txt 如果要忽略大小写,可以使用”-i”选项: grep -i “hello” file.txt 在当前目录下的所有文件中搜索字符串"exampleString": grep -r "exampleString" . 2. find命令:find命令用于递归地在目录树中查找文件和目录。它的基本语法如下: find 若要查找包含特定字符串的文件,可以使用以下命令: find /path/to/directory -type f -exec grep -l “hello” {} \; 这将在指定目录及其子目录中查找所有包含字符串”hello”的文件。 使用find命令查找以.txt为后缀名的文件,并在当前目录及其子目录中递归查找: find . -name "*.txt" 查找当前目录及其子目录中所有名称中包含"test"的文件,并输出它们的完整路径: find . -name "*test*" 3. ack命令:ack命令是grep的替代品,它专门用于代码的快速查找。安装ack后,可以使用以下命令: ack “hello” /path/to/directory 这将在指定目录及其子目录中查找包含字符串”hello”的文件。 4. ag命令:ag命令也是grep的替代品,它可以更快地搜索文件。安装ag后,可以使用以下命令: ag “hello” /path/to/directory 这将在指定目录及其子目录中查找包含字符串”hello”的文件。 以上是几个常用的Linux查找字符串的命令,根据你的需求选择适合的命令来进行查找操作。

AWS 在EC2上创建root用户,并使用root用户登录

最近有项目需要使用AWS的EC2服务器; 在创建服务器实例之后发现,没有root用户,仔细阅读AWS EC2文档,发现默认是ec2-user用户; 那我们需要创建一个root用户 1.创建 root 用户 注意:必须要要在ec2-user用户下执行 sudo passwd root 之后会提示你输入两次密码: Changing password for user root. New password: Retype new password: 输入完成之后我们的root用户就创建成功了; 我们尝试登录用户 su root 输入密码 Password: # 可以正常登录; AWS EC2默认情况下,密码身份验证和根用户登录是被禁用的;AWS EC2 管理 Linux 实例的用户账户 2.开启密码登录 同时也告诉我们,如果有需要,可以自己开启密码登录; vim /etc/ssh/sshd_config 将 PasswordAuthentication no 配置的 no 改为 yes,支持其他用户密码登录 如果需要 root 用户密码登录 将 PermitRootLogin 配置改为yes 重启 sshd 可以用下面命令。也可以用 systemctl restart sshd.service ; sudo /sbin/service sshd restart 3.设置其他用户密码 在 root 用户下可以设置其他用户密码 passwd 用户名 输入密码 New password: Retype new password: 这样就可以正常密码登录了;不过还是建议使用密钥登录;密码可以设置,在sudo的时候使用。

centos7 安装用yum命令安装wget无法安装

centos7 安装用yum命令安装wget无法安装 lijunlin 2019.03.10 15:56:56 字数 113 阅读 8,859 在终端执行yum -y install wget时,终端提示: 已加载插件:fastestmirror Loading mirror speeds from cached hostfile There are no enabled repos. Run “yum repolist all” to see the repos you have. To enable Red Hat Subscription Management repositories: 解决方法:在终端运行curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

宝塔面板创建FTP帐号连接失败的解决方法 服务器发回了不可路由的地址。使用服务器地址代替

在宝塔面板中创建了FTP帐号后,使用FileZilla、CuteFtp等FTP软件无法连接,出现类似“服务器回应不可路由的地址。使用服务器地址代替。”,或者 “错误: 读取目录列表失败” 的错误信息,可以参考本文的解决方法,来排查处理。 【1】排查宝塔面板中的FTP服务是否启动 在宝塔面板的【软件商店】切换至 【已安装】软件列表,找到其中的 Pure-FTPd,点开右侧对应的 设置 项,检查该服务器软件的FTP服务器软件的当前状态是否为 开启 状态。 【2】检查服务器(防火墙)端口设置 服务器(防火墙)端口是否放行,配置是否正确,直接关系到FTP是否可以连接至服务器的重要因素。 首先,在宝塔面板的【安全】中的 系统防火墙,检查是否添加了21端口(FTP协议默认端口),如果使用 sftp,则还需要添加22端口; 另外,FTP被动模式端口范围(39000-40000)是否添加,如下图所示: 如果使用的是腾讯云 \ 阿里云的云服务器,还需要检查对应服务器端的安全组中的端口是否也进行了相应的放行设置。 【3】检查FTP用户名和密码 确保您使用正确的 FTP用户名 和 密码 进行连接。可以在宝塔面板的 FTP 管理页面查看当前FTP账户的用户名和密码,并确保输入的信息无误。 【4】检查被动模式(PASV)设置 FTP服务器默认处于主动模式,但有时FTP客户端可能需要切换为被动模式。在您的FTP客户端中,找到被动模式(PASV)设置选项,并确保其已启用。 在 FileZilla 的 站点管理器 中切换至 传输设置,把里面的 传输模式 设置为 被动。 其实,使用FTP软件连接服务器出现类似“服务器回应不可路由的地址。使用服务器地址代替。”,或者 “错误: 读取目录列表失败” 的错误信息,主要就是端口是否放行,建议主要排查宝塔面板和服务器端防火墙的端口设置。

nginx配置多个域名使用同一个端口

随着服务器性能的提升和业务的需求,一台服务器上往往会同时有多个服务,这些服务都希望监听80端口,比如有a.com和b.com。这时候我们可以使用nginx的代理转发功能帮我们实现共用80端口的需求。 先在两个空闲的端口上分别部署项目(非80,假设是8080和8081)nginx配置如下: # a项目配置nginx server { listen 8080; root /usr/share/nginx/html; #这里是默认路径,生产中代码存放路径:root /web/vue-base-demo/dist/; index index.html; location / {} } # b项目配置nginx server { listen 8081; root /usr/share/nginx/html; #这里是默认路径,生产中代码存放路径:root /web/react-base-demo/build; index index.html; location / {} } 紧接着如果已经做好域名解析,希望a.com打开a项目,b.com打开b项目。我们需要再做两个代理,如下: # nginx 80端口配置 (监听a二级域名) server { listen 80; server_name a.com; location / { proxy_pass http://localhost:8080; # 转发 } } # nginx 80端口配置 (监听b二级域名) server { listen 80; server_name b.com; location / { proxy_pass http://localhost:8081; # 转发 } nginx如果检测到a.com的请求,将原样转发请求到本机的8080端口,如果检测到的是b.com请求,也会将请求转发到8081端口。 测试:浏览器输入http://a.com或http://b.com即可。 如果还有其它的想让谁做为默认的为80端口,后listen 80 后加上default_server; 就好 server { listen 80 default_server; server_name b.com; location / { proxy_pass http://localhost:8081; # 转发 }

zip打包目录所有文件(含隐藏文件/夹)

我们在linux中常见的压缩文件有.tar.gz,.zip,.gz,在linux中,你要习惯没有.rar的日子。 一下为tar,zip命令详解 tar -zcvf /home/files.tar.gz /files tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/files文件夹打包后生成一个/home/files.tar.gz的文件。 zip 压缩方法: 压缩当前的文件夹 zip -r ./files.zip ./* -r表示递归 zip 解压 unzip files.zip 不解释 linux zip命令的基本用法是: linux zip命令参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 不压缩具有特定字尾字符串的文件 -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q 安静模式,在压缩的时候不显示指令的执行过程 -r 将指定的目录下的所有子目录以及文件一起处理 -S 包含系统文件和隐含文件(S是大写) -t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy 举例: 将/home/wwwroot/files/ 这个目录下所有文件和文件夹打包为当前目录下的files.zip zip –q –r files.zip /home/wwwroot/files 上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录 比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果. zip –q –r files.zip files 比如现在我的files目录下,我操作的zip压缩命令是 zip –q –r files.zip * 以上是在安静模式下进行的,而且包含系统文件和隐含文件 ////////////////////////////////////////////////////////// unzip语 法: unzip 或 unzip 补充说明:unzip为.zip压缩文件的解压缩程序。 unzip参 数: -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。 -f 更新现有的文件。 -l 显示压缩文件内所包含的文件。 -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。 -t 检查压缩文件是否正确。 -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 -v 执行是时显示详细的信息。 -z 仅显示压缩文件的备注文字。 -a 对文本文件进行必要的字符转换。 -b 不要对文本文件进行字符转换。 -C 压缩文件中的文件名称区分大小写。 -j 不处理压缩文件中原有的目录路径。 -L 将压缩文件中的全部文件名改为小写。 -M 将输出结果送到more程序处理。 -n 解压缩时不要覆盖原有的文件。 -o 不必先询问用户,unzip执行后覆盖原有文件。 -P<密码> 使用zip的密码选项。 -q 执行时不显示任何信息。 -s 将文件名中的空白字符转换为底线字符。 -V 保留VMS的文件版本信息。 -X 解压缩时同时回存文件原来的UID/GID。 指定.zip压缩文件。 指定要处理.zip压缩文件中的哪些文件。 -d<目录> 指定文件解压缩后所要存储的目录。 -x<文件> 指定不要处理.zip压缩文件中的哪些文件。 -Z unzip -Z等于执行zipinfo指令 举例: 将/home/wwwroot/files.zip解压到当前目录 unzip files.zip 如果出现这个提示: -bash: zip: command not found 不能执行ZIP压缩,是因为没有安装ZIP, 运行下这条安装命令即可 yum install zip zip -r landui_com.zip . 说明: -r 递归子目录 所有非隐藏文件/夹 .*(所有隐藏文件/夹,但排除..(上一级目录)) 还有一个tar命令,也可以打包 //打包目录/ad 到/testtar/tar.tar.gz tar -czf /home/ad_0923.tar.gz ./ad //解压到指定目录/ tar -xzvf ad_0923.tar.gz -C /

Centos 利用crontab定时执行任务及配置方法

在centos上最常用的定时任务应该就是crontab了,有三种方式实现定时任务的方法,但是所用到的场景有所不同 at    适合仅执行一次就结束的调度命令,需要启动一个后端的atd服务。 crontab 需要启动一个服务crond才行,crond服务通过crontab命令实现 anacron 无法周期性执行,只能以天为周期,但有个特点,在关机状态下未>执行的任务,下次开机时可以补上执行 常用的是crontab crond是什么? crond 和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。 而crond正是它的守护进程。cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务。 用户执行的定时任务(用户的定时任务一般分为六段) 1、安装 crontabs服务并设置开机自启: $ yum install crontabs $ systemctl enable crond $ systemctl start crond 2、配置定时规则 $ vim /etc/crontab 在配置文件中配置你的定时执行规则 # 将当前时间写入到log文件,一小时执行一次 0 * * * * root echo `date` >> /root/date.log 3、保存生效 $ crontab /etc/crontab 4、查看任务 $ crontab -l 任务列表,如下所示: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 0 * * * * root echo `date` >> /root/date.log 到此定时任务配置完成。 符号  说明 * 表示任何时刻 , 表示分割 - 表示一个段,如第二段里: 1-5,就表示1到5点 /n 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1. 00 8,12,16 * * * /data/app/scripts/monitor/df.sh 30 2 * * * /data/app/scripts/hotbackup/hot_database_backup.sh 10 8,12,16 * * * /data/app/scripts/monitor/check_ind_unusable.sh 10 8,12,16 * * * /data/app/scripts/monitor/check_maxfilesize.sh 10 8,12,16 * * * /data/app/scripts/monitor/check_objectsize.sh 43 21 * * * 每天的21:43 执行 15 05 * *

redis常用查询操作

1.登陆命令:/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6388 -a 123456 2.切换数据库:127.0.0.1:6379> select 1 2.获取所有key:127.0.0.1:6388> keys * 3.获取指定key:127.0.0.1:6388> keys frd_5 4.获取指定key的类型:127.0.0.1:6388> TYPE frd_5 5.查看key下的所有内容:127.0.0.1:6002> HGETALL rank_level_2_i 5.获取指定key的值:127.0.0.1:6388> HGET frd_5 29360136 10、增加,查询,删除数据,在此目录下:/usr/local/redis/bin # ./redis-cli 127.0.0.1:6379> set test hello OK 127.0.0.1:6379> get test "hello" 127.0.0.1:6379> del test (integer) 1 127.0.0.1:6379> get test (nil) 127.0.0.1:6379> 11、查询所有key 127.0.0.1:6379> set test hello OK 127.0.0.1:6379> set test1 hello1 OK 127.0.0.1:6379> set test2 hello2 OK 127.0.0.1:6379> keys * 1) "test" 2) "test1" 3) "test2"