宝塔面板创建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 到此定时任务配置完成。 crond常用命令 /bin/systemctl start crond /bin/systemctl stop crond /bin/systemctl restart crond /bin/systemctl reload crond /bin/systemctl status crond 以上1-5行分别为启动、停止、重启服务和重新加载配置、查看服务状态 把cron设为在开机的时候自动启动 vi /etc/rc.local /bin/systemctl start crond.service crontab常用命令 crontab -u //设定某个用户的cron服务 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务 crontab -e //编辑某个用户的cron服务 crontab -i //打印提示,输入yes等确认信息 /var/spool/cron/root (以用户命名的文件) 是所有默认存放定时任务的文件, /etc/cron.deny 该文件中所列出用户不允许使用crontab命令 /etc/cron.allow 该文件中所列出用户允许使用crontab命令,且优先级高于/etc/cron.deny /var/log/cron 该文件存放cron服务的日志,可以用tail -f /var/log/cron.log观察 在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail

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"

NeXT-Server 手动安装

38 cd /home 使用 wget 下载你选择的版本,https://go.dev/dl/ 找到适用于Linux的版本,你可以选择 .tar.gz 格式的文件以用于Debian系统 39 wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz 40 tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz 42 echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile 44 vim ~/.bashrc 编辑~/.bashrc ,一般在root目录,根据自己的情况修改,添加下面内容到.bashrc文件尾 export GO_HOME=/usr/local/go/ export GO_PATH=$HOME/go export PATH=${GO_HOME}/bin:$GO_PATH/bin:$PATH 更新当前会话以应用路径更改 45 source ~/.profile 验证Go是否安装成功 46 go version 50 apt install git 51 git --version 52 git clone https://github.com/SSPanel-NeXT/NeXT-Server 48 cd NeXt-Server/ 49 git version 56 go mod tidy 57 go build -o NextServer -ldflags "-s -w" 编辑nextServer的配置文件 vim release/config/config.yml 运行nextServer 58 ./NextServer --config config.yml

Centos Certbot 使用

安装 可选配置:启动EPEL存储库 非必要项 yum install -y epel-release yum clean all yum makecache #启用可选通道 可以不配置 yum -y install yum-utils yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional 必要配置参数:安装certbot yum -y install certbot python2-certbot-nginx 配置nginx upstream proxy { server 127.0.0.1:9000; } server { listen 443; server_name test.test.com; location ~ ^/(base|admin|web|assets|auth|user) { proxy_redirect off; proxy_set_header X-Proxy-Client-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://proxy; } location / { root /data/camc/public/dist;# project path try_files $uri /index.html;# if not match,go to the save page index index.html index.htm; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } http直接重定向到https server { listen 80; server_name test.test.com; rewrite ^(.*)$ https://$host$1 permanent; } 或是一个正常的侦听80端口的也可以,重点是下一步生成证书, 3. 生成证书 3 .1自动配置nginx 运行如下命令会自动下载证书并配置nginx。 ```shell certbot --nginx 会列表nginx下的域名列表,从其中选择2中配置的域名,会自动生成ssl文件并配置好443端口 Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: h**.app 2: a**.app - - - - -

CentOS下 FTP 的安装和配置

文章目录 一. FTP下载安装 1.ftp下载 2.ftp启动 3.配置FTP 4.建立虚拟用户文件 5.新建系统用户vsftpd,用户目录为/data/ftp 6.防火墙设置 7.使用ftp工具连接测试 8. 虚拟用户原理 9. vsftp的相关配置文件设置 10.将密码文件进行db格式的转化 11. 设置虚拟用户的权限 二. 配置文件详解 一. FTP下载安装 1.ftp下载 yum install -y vsftpd 2.ftp启动 systemctl enable vsftpd.service #开机自启 systemctl start vsftpd.service #启动 systemctl stop vsftpd.service #停止 systemctl status vsftpd.service #状态 3.配置FTP 3.1 打开 vim /etc/vsftpd/vsftpd.conf 3.2 修改下内容 #显示行号 :set number #修改配置 12 行 anonymous_enable=NO #修改配置 33 行 anon_mkdir_write_enable=YES #修改配置48行 chown_uploads=YES #修改配置72行 async_abor_enable=YES #修改配置83行 ascii_upload_enable=YES #修改配置84行 ascii_download_enable=YES #修改配置87行 ftpd_banner=Welcome to blah FTP service. #修改配置101行 chroot_local_user=YES 3.3 添加下列内容到vsftpd.conf末尾 use_localtime=YES listen_port=21 idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=40000 pasv_max_port=40010 accept_timeout=5 connect_timeout=1 allow_writeable_chroot=YES <a name="t5"></a><a id="4_55"></a>4.建立虚拟用户文件 4.1创建编辑用户文件 vim /etc/vsftpd/ftpuser_list #第一行为用户名,第二行为密码。不能使用root作为用户名 southgis southgis@123 4.2生成虚拟用户 db_load -T -t hash -f /etc/vsftpd/ftpuser_list /etc/vsftpd/ftpuser_list.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/ftpuser_list.db 4.3修改 /etc/pam.d/vsftpd 文件 # 修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak vi /etc/pam.d/vsftpd #先将配置文件中原有的 auth 及 account 的所有配置行均注释掉 #写入以下内容 auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/ftpuser_list account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/ftpuser_list # 如果系统为32位,上面改为lib <a name="t6"></a><a id="5vsftpddataftp_81"></a>5.新建系统用户vsftpd,用户目录为/data/ftp 5.1 新建系统用户vsftpd,用户目录为/data/ftp #用户登录终端设为/bin/false(即:使之不能登录系统) useradd vsftpd -d /home/southgisdata/imap-service-publish -s /bin/false chown -R vsftpd:vsftpd /home/southgisdata/imap-service-publish 5.2 建立虚拟用户个人配置文件 mkdir /etc/vsftpd/ftpuser_conf cd /etc/vsftpd/ftpuser_conf #编辑leo用户配置文件,内容如下,其他用户类似 vi southgis local_root=/home/southgisdata/imap-service-publish write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES <a name="t7"></a><a id="6_101"></a>6.防火墙设置 6.1 iptables 的设置方式: vi /etc/sysconfig/iptables #编辑iptables文件,添加如下内容,开启21端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m