Git Product home page Git Product logo

baota's Introduction

baota's People

Contributors

19950219 avatar aapanel avatar safly avatar showpy avatar songchudong avatar weblifu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

baota's Issues

有没有计划添加多语言版本?

最近把bt.cn推荐给一个老外朋友。那家伙对宝塔极有好感,相比其他服务器面板,宝塔做得更为贴心。可惜就是宝塔没有英文版本,否则他就能推荐给更多朋友了。

BUG反馈: 数据库管理中 添加数据库和用户,没有赋予权限

在面板中添加数据库和用户时.
如果数据库名称包含 . 则创建的账号没有赋予操作该数据库的权限.
如果数据库名不包含 . 创建的账号包含 . 则不影响

数据库命名规则没有说不可以使用 .
而且在phpmyadmin中是可以正常操作并赋予数据库名包含 . 的数据库的

猜测问题赋予权限时没有转义数据库名称中的特殊字符.
希望尽快解决此问题.每次创建数据库后还要去phpmyadmin中赋予权限,很麻烦.

来这里提bug吧

批量搜索多文件,然后复制,粘贴会出问题, 貌似是文件名有不规则字符导致,
很容易重现

有点小Bug

  • 必须要纯净安装?不支持对已有软件的控制?
  • 有时候安装软件后,后台显示的还是未安装。
  • 软件库的一键部署我就晕了,我这几次安装bt都有不同的库,不统一。居然有几次,安装库都是空的。

被数据库备份坑到了,求解决BUG

截屏2020-01-0519 52 38

如图所示,我设置了数据库备份规则为
1,近7天每天备份全部数据库 热备份。
2,近12周每周备份全部数据库 冷备份。

现在我们财务对账出了问题需要查上个月的数据库内容。
结果发现【规则2】的上个月数据被【规则1】清理掉了。
欲哭无泪。

建议在 database 的文件夹名上,连接上任务名称 的字符串,来区分不同任务。
防止任务间互相干涉,防止清理掉不该清理的备份数据。

LXC虚拟化架构下CPU核心显示不正确

image

如图,宝塔显示有8个核心,但是实际上只分配给1个
image

另外,在安装nginx时默认的work_process为auto,这会导致启动过多的worker,导致服务器卡死

请求更改读取cpu核心数的方式,按照cgroup分配的读取

火狐浏览器上传文件速度太慢

火狐浏览器上传文件速度太慢,一个13m的zip文件,chrome和edge基本上一分钟就上传完,火狐却要二十分钟,从调试功能能看到宝塔是分块上传的,2m一块,火狐每次上传都要4分钟,
宝塔的版本是7.4.3,
火狐的版本是79

acme_v2.py

如何命令行使用

[root@localhost class]# /www/server/panel/pyenv/bin/python acme_v2.py --domain=test.sstst.orgt --typ=http --path=/data/wwwroot/test.sstst.org

|-正在创建订单..

|-证书获取成功!

Traceback (most recent call last):
File "acme_v2.py", line 1532, in
write_log("认证的域名: {}".format(','.join(cert['domains'])))
KeyError: 'domains'

宝塔ipv6绑定

在一个既有ipv4又有ipv6地址的服务器上,宝塔初次安装会绑定到v4地址上监听,怎么才能让初次安装的面板监听ipv6

centos 8 安装lnmp环境失败

CentOS Linux release 8.0.1905 (Core)
Bit:64 Mem:3758M Core:4 gcc:8.2.1 cmake:3.11.4
Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
ERROR: php-5.6 installation failed.

nginx,MySQL,php全都安装失败

PEP8 规范

是否可以遵循 PEP8 规范,这样在 pr 时可以尽量避免不必要的修改~

pm2查看node版本显示None

image

服务器可以看到node已经安装成功,但是这里显示版本 [None] ,刷新页面后,重启服务器后,再看任然没变化
image

脚本无法安装宝塔邮局mail_sys

centos7.6 中docker19.03.无法 使用脚本安装mail_sys
FROM centos:7
MAINTAINER my

COPY entrypoint.sh /entrypoint.sh
COPY set_default.py /set_default.py

RUN mkdir -p /www/letsencrypt
&& ln -s /www/letsencrypt /etc/letsencrypt
&& rm -f /etc/init.d
&& mkdir /www/init.d
&& ln -s /www/init.d /etc/init.d
&& chmod +x /entrypoint.sh
&& mkdir /www/wwwroot

#更新系统
RUN cd /home
&& yum -y update
&& yum -y install wget openssh-server
&& echo 'Port 1722' > /etc/ssh/sshd_config
&& wget -O install.sh http://download.bt.cn/install/install_6.0.sh \
&& echo y | bash install.sh
&& python /set_default.py
&& bash /www/server/panel/install/install_soft.sh 0 install nginx 1.17
&& bash /www/server/panel/install/install_soft.sh 0 install php 7.2 || echo 'Ignore Error'
&& bash /www/server/panel/install/install_soft.sh 0 install php 5.6 || echo 'Ignore Error' \

安装宝塔邮局

RUN bash /www/server/panel/install/install_soft.sh 0 install mail_sys
&& /etc/init.d/bt restart

nginx 安装到 ubuntu 19 iot for raspberry pi4 上时出错

checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for prctl(PR_SET_KEEPCAPS) ... found
checking for capabilities ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for sched_setaffinity() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for SO_BINDANY ... not found
checking for IP_TRANSPARENT ... found
checking for IP_BINDANY ... not found
checking for IP_BIND_ADDRESS_NO_PORT ... found
checking for IP_RECVDSTADDR ... not found
checking for IP_SENDSRCADDR ... not found
checking for IP_PKTINFO ... found
checking for IPV6_RECVPKTINFO ... found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for eventfd() ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for clock_gettime(CLOCK_MONOTONIC) ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for sysinfo() ... found
checking for getloadavg() ... found
checking for /proc/meminfo ... found
checking for /proc/stat ... found
configuring additional modules
adding module in /www/server/nginx/src/ngx_devel_kit

  • ngx_devel_kit was configured
    adding module in /www/server/nginx/src/lua_nginx_module
    checking for LuaJIT library in /usr/local/lib and /usr/local/include/luajit-2.0/ (specified by the LUAJIT_LIB and LUAJIT_INC env, with -ldl) ... not found
    checking for LuaJIT library in /usr/local/lib and /usr/local/include/luajit-2.0/ (specified by the LUAJIT_LIB and LUAJIT_INC env) ... not found
    ./configure: error: ngx_http_lua_module requires the Lua or LuaJIT library and LUAJIT_LIB is defined as /usr/local/lib and LUAJIT_INC (path for lua.h) /usr/local/include/luajit-2.0/, but we cannot find LuaJIT there.
    make: *** No rule to make target 'build', needed by 'default'. Stop.
    make: *** No rule to make target 'install'. Stop.
    ========================================================
    Ubuntu 19.10
    \l
    Bit:64 Mem:3791M Core:4 gcc:9.2.1 cmake:3.13.4
    Linux ubuntu 5.3.0-1015-raspi2 #17-Ubuntu SMP Thu Dec 5 04:58:47 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
    ERROR: nginx-2.3.2 installation failed.
    安装失败,请截图以上报错信息发帖至论坛www.bt.cn/bbs求助

Ubuntu 18.04 LTS 编译安装 PHP 7.3 出错,--with-openssl不用加路径

Ubuntu 18.04 LTS
kernel 4.19.20
宝塔Linux面板6.9.30

问题:
编译安装PHP 7.3 出现
configure: error: Cannot find OpenSSL's libraries

尝试解决:
--with-openssl不用加路径,./configure 通过

Add:
libiconv也要编译更新到libiconv-1.16,不然会找不到
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

引用:
mongodb/mongo-php-driver#138 (comment)

宝塔版本6.9.8 MySQL 10.3.16-MariaDB 不能修改密码

通过面板里修改root密码后,mysql被停止没有再次运行。密码修改也没有生效
使用ssh 里面 bt 命令修改密码,报错如下。
虽然提示修改成功,但是没有生效

[root@centos7 wwwroot]# bt
===============宝塔面板命令行==================
(1) 重启面板服务           (8) 改面板端口
(2) 停止面板服务           (9) 清除面板缓存
(3) 启动面板服务           (10) 清除登录限制
(4) 重载面板服务           (11) 取消入口限制
(5) 修改面板密码           (12) 取消域名绑定限制
(6) 修改面板用户名         (13) 取消IP访问限制
(7) 强制修改MySQL密码      (14) 查看面板默认信息
(22) 显示面板错误日志      (15) 清理系统垃圾
(23) 关闭BasicAuth认证     (16) 修复面板(检查错误并更新面板文件到最新版)
(0) 取消
===============================================
请输入命令编号:7
===============================================
正在执行(7)...
===============================================
请输入新的MySQL密码:12345678
12345678
mysql_root.sh: line 5: service: command not found
正在修改密码...
The set password...
190723 02:28:46 mysqld_safe Logging to '/www/server/data/centos7.4.err'.
190723 02:28:46 mysqld_safe Starting mysqld daemon with databases from /www/server/data
ERROR 1364 (HY000) at line 1: Field 'ssl_cipher' doesn't have a default value
ERROR 1364 (HY000) at line 1: Field 'ssl_cipher' doesn't have a default value
mysql_root.sh: line 21:  8344 Killed                  mysqld_safe --skip-grant-tables
mysql_root.sh: line 24: service: command not found
===========================================
root密码成功修改为: 12345678
The root password set 12345678  successuful
1

面板绑定域名和开启 Let's Encrypt SSL 在开启了 HSTS 的域名下逻辑冲突

面板版本: 宝塔linux面板 7.0.3

系统版本: Red Hat Enterprise Linux Server 7.7 (Maipo)

浏览器版本: Google Chrome Version 78.0.3904.108 on macOS Catalina 10.15.1

问题现象:
如果域名开启了 HSTS (即浏览器会强制跳转 https ,Google 的 .app 和 .dev 域名都会强制开启,我个人在用一个 .dev 域名),就无法使用为面板绑定域名的功能(除非使用自签 SSL)。因为如果先绑定域名,此时面板还没有开启 SSL ,浏览器根据 HSTS 自动跳转到 https ,访问无效;如果想先开启 SSL (Let's Encrypt),面板会出现以下错误提示:“需要为面板绑定域名后才能申请 Let's Encrypt”

image

重现方式: 开启域名 HSTS 并登记,试图为面板绑定该域名。

个人现在的一个临时的 workaround :

  1. 使用自签 SSL 。
  2. 如果使用的是 macOS Catalina ,访问自签 SSL 页面时 Chrome 会抛出 NET::ERR_CERT_REVOKED ,且页面上不提供任何绕过继续访问的方式。此时保持 focus 在页面上并输入 thisisunsafe 可以将这个域名加入白名单,输入后页面会自动刷新。
  3. 如果绑定了开启 HSTS 的域名导致无法访问面板,在 SSH 中使用以下命令可以清除绑定:
$ sudo bt 12

默认关端口导致我无法连接到我的服务器

你们的脚本默认行为关闭了很多端口,问题是我的 ssh 默认并不是 22,现在可好,脚本执行的过程中就把我踢下来了,我现在也连不上服务器了,也不知道你们说的那个什么安全模式的随机字符是个啥玩意,怎么办吧

php的session设置默认应该打开

php的session设置默认应该打开,我们接触到有很多宝塔的用户,php的session默认没有设置,导致程序无法正常安装,额外增加用户的使用成本。

phpmyadmin安装失败。6.9.6版本

安装phpmyadmin 提示安装成功,实际 打开404.
查看安装日志,发现仅下载phpMyAdmin.zip并没有安装

10600K .......... .......... .......... .......... .......... 99%  133M 0s
 10650K .......... .......... .......... ..........           100% 2.30M=2.2s

2019-07-09 23:55:08 (4.66 MB/s) - ‘phpMyAdmin.zip’ saved [10947073/10947073]

cat: write error: Broken pipe
cat: write error: Broken pipe
Reload service nginx...  done
Error: DBUS_ERROR: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
Error: DBUS_ERROR: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory

宝塔面板默认的环境为lamp或lnmp,可否增加第三种环境,即ljma环境?

宝塔面板默认的环境为lamp或lnmp,可否增加第三种环境,即ljmp环境Linux+Jexus+MariaDB/Mysql+ASP.NET(Mono)[LJMA]环境

jexus的官方网站:https://www.jexus.org/

Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关服务器,以支持ASP.NET、ASP.NET CORE、PHP为特色,同时具备反向代理、入侵检测等重要功能。

Jexus 最新版7.0的安装

Jexus的手工安装或更新步骤(以Jexus v7.0为例):
1,获取:cd /tmp && wget https://linuxdot.net/down/jexus-7.0.x-x64.tar.gz
2,解压:sudo tar -zxvf jexus-7.0.x-x64.tar.gz
3,移动:sudo mv jexus /usr/
4,初始:cd /usr/jexus && sudo ./jws regsvr
强调:如果之前安装有其它版本的Jexus,在安装新版前应该停止旧版Jexus运行,并将 /usr/jexus 文件夹更名备份。

关于Jexus的系统服务操作要点

之前,Jexus开机自启动的实现是在 /etc/rc.local 中添加 “/usr/Jexus/jws start” 启动命令实现的,为了更符合当代linux操作习惯,新版Jexus添加了systemd 服务脚本(jws.service),以方便大家将Jexus作为系统服务进行管理。

一、有关操作:

1,服务安装:sudo systemctl enable /usr/jexus/jws.service

2,服务卸载:sudo systemctl disable jws.service

3,服务启动:sudo systemctl start jws

4,服务重启:sudo systemctl restart jws

5,服务停止:sudo systemctl stop jws

二,要点:

1,服务安装前一定要注意:

1)查看 /usr/jexus文件夹中是否存在jws.service 文件,如果没有这个文件,请重新安装Jexus。

2)一定要运行一次初始化命令:sudo /usr/Jexus/jws init2,安装为服务后,下列命令不要再使用:

sudo /usr/Jexus/jws start

sudo /usr/Jexus/jws stop

sudo /usr/Jexus/jws restart

Jexus Http Web Server的官方使用说明

一文说明Jexus Http Web Server的介绍、安装、使用

Jexus web server for linux 是一款基于mono环境,运行于Linux/unix操作系统之上,以支持ASP.NET为核心功能的高性能WEB服务器。

Jexus V5.8.x有如下功能特点:
01、高性能ASP.NET服务器。这是Jexus的核心功能。不管是稳定性、易用性还是并发承载能力、并行处理速度,Jexus对ASP.NET的支持都是非常优秀的;
02、支持Fast-CGI协议。通Fast-CGI,Jexus能支持包括PHP在内的所有拥有Fast-CGI服务功能的WEB应用;
03、具有强劲的反向代理功能,同时支持多目标负载均衡。灵活运用Fast-CGI以及反向代理,Jexus可以让你的网站与各种不同类型资源(如aspx/php/jsp)实现无缝整合。
04、具有比反向代理更轻量速度更快的“端口转发”功能,适合于整合具备http侦听功能的本机应用程序,比如Asp.net Core或者Tomcat.
05、具备基于正则表达式的强大的URL重写功能;
06、拥有强大的流媒体支持能力,支持FLV/F4V视频文件拖动播放,支持微软平滑流媒体技术;
07、具备可控的“ASP.NET前置缓存”,能大大提升ASP.NET网站的承载能力和响应速度;
08、支持Https,具有SSL加密数据安全传输能力;
09、具有基础而实用的入侵检测功能,能自动终止已被识别的非法请求;
10、提供符合OWIN标准的应用层接口,支持Nancy、SignalR等符合OWIN标准的应用框架,支持WebSocket;
11,提供AppHost管理器功能,能将asp.net core或node.js、tomcat等“自宿主”式的以控制台方式运行的web应用程序与网站整合,纳入jexus统一管理;

一、安装:
安装前的准备工作:

需要libc2.3.2或更高版本的支持(可用ldd --version查询版本情况),如果需要启用https,系统中还需具备libssl库文件,比如libssl.so.0.9.8。
除Jexus独立版外,系统需要安装好mono 3.12.1 或更高版本(当前最新正式版本是mono 4.4.2.11)。
Mono的官方网址是:www.go-mono.com。
Mono的下载地址:http://www.go-mono.com/mono-downloads/download.html
Mono的具体安装办法,请参考 www.linuxdot.net 上的有关文章。
A、独立版安装:
cd /tmp
wget linuxdot.net/down/jexus-5.8.2-x64.tar.gz
tar -zxvf jexus-5.8.2.tar.gz
sudo mv jexus /usr/
sudo rm jexus-*
cd /usr/jexus
B、通用版安装与更新:
安装命令: curl jexus.org/5.8.x/install | sh
更新命令: curl jexus.org/5.8.x/upgrade | sh
二、运行测试
复制完Jexus的文件后,Jexus就可以正常工作了。
所以,如果你的系统只要mono已经成功安装,jexus就可以直接使用,甚至连进一步的配置也完全不需要。
如果是升级安装,你只需要用运行 “sudo ./jws start”即可启动JWS,如果不能正常工作,常常是新版本的配置方式可能有变,你可以查查jws.conf等配置文件。
强调:如果你服务器安装有其它的WEB服务器,而且该服务正在运行,请停止它,以免造成端口冲突而造成Jexus无法启动。
如果是全新安装,请首先建立一个默认的网站文件夹:/var/www/default,并在里面新建一个简单的网页,比如index.html。
然后在Jexus工作文件夹(/usr/jexus/)中执行“sudo ./jws start”命令(需要root身份),启动jexus。
1、用cat log/jws.log,看看jws日志文件有没有什么出错的提示。
2、如果没有错误提示,请访问一下这台服务器,看看是否有jexus的欢迎页,网址是:http://服务器IP地址/info
3、如果已经在网站中放有首页或其它网页,你就可以访问这些网页了。
三、Jexus web server 配置(不是必须的,这儿写出来,是为了用户更好的理解jexus的工作原理):
在 jexus 的工作文件夹中(一般是“/usr/jexus”)有一个基本的配置文件,文件名是“jws.conf”。
jws.conf 中至少有 SiteConfigDir 和 SiteLogDir 两行信息:
SiteConfigDir=siteconf #指的是存放网站配置文件放在siteconf这个文件夹中,可以使用基于jws.exe文件的相对路径
SiteLogDir=log #指的是jexus日志文件放在log这个文件夹中,可以使用基于jws.exe文件的相对路径
重要提示:
必须为Jexus指定并创建两个专用文件夹:一个是用于存放日志文件的“日志文件夹”,一个是存放网站配置文件的“网站配置文件夹”。
日志文件夹必须让jexus系统有写入权,因为它会在这儿写入jexus系统日志、网站访问日志等重要内容,安装程序中已经建了一个文件夹,名字是log。
网站配置文件夹是用存放网站配置文件的地方(安装包中已经建了这个文件夹,名字是siteconf),既使只有一个网站,也必须有这个文件夹,因为jexus启动时会从这个文件夹读取网站配置的内容。
即,默认情况下,Jexus的文件夹结构是:
/usr/jexus #JWS工作目录
/usr/jexus/siteconf #网站配置目录
/usr/jexus/log #日志目录
四、网站配置
Jexus支持多站点,可以用不同的端口、域名、虚拟路径设置任意多的网站。
必须把所有网站配置文件放到jws.conf指定的网站配置文件夹内(这个文件夹常常jws工作目录内的“siteconf”文件夹),这个文件夹除了网站配置文件,不能有其它任何文件,因为jexus会认为这儿的任何一个文件都代表着一个不同的网站。
每个网站有且只有一个配置文件,配置文件的文件名就是这个网站的名称,比如 www.mysite.cn这个网站,配置文件名可以写成“mysite”,当然也可以写成其它文件名,以便管理员 容易记忆和识别,但要特别注意:文件名不能有空格!
一个网站可以拥有任意多的域名,不同网站不能有相同的域名,没有域名的网站只能有一个,这个没有域名的网站叫做“默认网站”,而一台服务器最多只能有一个默认网站。
*** 再次强调:
1、网站配置文件的文件名不能有空格;
2、网站配置文件夹中只能有网站配置文件,不能有其它文件文件存在,因为这里的每一个文件,都被视为网站配置文件。
下面以www.mysite.cn为例,说说网站的配置
在网站配置文件夹中建立一个文件,这个文件的名称应该有一些意义(至少要能让服务器管理员了解这个配置文件是属于哪一个网站的)
设这个网站的配置文件的文件名为:mysite
sudo miv mysite
A、网站配置的基本内容:
port=80 # jexus WEB服务器侦听端口(必填。当然可以是其它端口)
root=/ /var/www/mysite # 网站URL根路径(虚拟目录)和对应的物理路径,两个路径字串之间必须用空格分开(必填。既使这个网站是一个纯粹的反向代理站,也得填)
#可选项
hosts=mysite.cn,www.mysite.cn # 网站域名(建议填写),可以用泛域名,比如:.mysite.cn(不填此项或只填一个“”号表示这是默认网站,一个端口只能有一个默认站)
indexs=index.aspx,index.htm # 首页文件名,可以写多个,用英文逗号分开(可以不填。因为JWS系统含有常用首页名)
addr=0.0.0.0 # 绑定到服务器本机的某个IP地址,默认情况下是所有地址,即“0.0.0.0”。
aspnet_exts=mspx,ttt # 添加新出现的或自定义的ASP.NET扩展名(不建议填。多个扩展名用英文逗号分开,不加点号。系统含有常用扩展名)
B、最简配置示例
最简配置只需port和root两项,如:
port=80
root=/ /var/www/default
注:以上两个条目的含义:“port=80”指本网站的服务端口是80(标准的WEB服务端口);“root=/ /var/www/default”是指该网站的的虚拟根路径是“/”,所对应的物理文件夹的绝对路径是“/var/www/default”,即网站的内容必须放到“/var/www/default”这个文件夹中。
C、网站配置的高级选项 (阅读建议:建议初学者跳过本小节)
网站配置的高级选项全是可选项,应该根据网站的实际需要选填。
灵活使用高级选项,可以架设出一台与众不同的、功能强大的服务器平台或者服务器群组。
1、使用“URL重写”功能
URL重写是指WEB服务器将访问者的请求URL路径资源按指定的匹配规则解释和匹配为另外的一个真实RUL路径资源。
比如,希望别人访问“.php”类型的文件时,服务器返回 /404.html 这个文件:
rewrite=^/.+?.(asp|php|cgi)$ /404.html
格式:
“rewrite=”的后面是两部分阻成,两部分之间由一个空格分开。
空格前是匹配的条件:用正则表达式描述URL的匹配条件。
空格后是匹配的目标:指的是如果用户访问的路径合乎前面的匹配条件,服务器将以哪个规则回应。
又如:
把“/bbs”解析为“/bbs/index.aspx”,把“/bbs/file-1” 匹配为 “/bbs/show.aspx?id=1”:
rewrite=^/bbs$ /bbs/index.aspx
rewrite=^/bbs/file-([0-9]{1,6})$ /bbs/show.aspx?id=$1
格式解释:rewrite的等号后含有两部分内容,用空隔分开。前半部分是一个正则表达式,用于描述需要URL重写的(用户浏览器中的)url路径样式,后半部分是当用户的URL合乎前面的正则表达式时,JWS应该重写和访问的真实URL路径。
2、禁止或允许某IP或IP段访问网站
A、只允许某些IP地址访问网站(白名单功能)
默认情况下,允许所有IP地址访问。如果手工设置IP地址白名单,那么,白名单之外的IP地址会自动归入黑名单。
配置格式,形如:
allowfrom=1.2.3.*
AllowFrom=2.2.3.3
B、禁止某IP或某IP端访问网站(黑名单功能)
默认情况下,本配置为空。如果手工添加需要禁止访问的IP地址(段),必须合乎一个规则:黑名单必须是白名单的真子集。
配置格式,形如:
denyfrom=111.222.111.*
denyfrom=101.201.1.132
3、禁止访问某文件夹及其子文件夹中的内容
DenyDirs=网站文件夹路径的URL路径,如 “/abcfiles”或 “~/abcfiles”,多个路径,用英文逗号分开
4、是否对请求的URL等进行安全检测
本选项默认是true,即需要检查,除非你的确需要关掉这个选项,否则可以不填,格式如下:
checkquery=false
(关掉本项可以提高服务器速度,但就安全而言,不建议关掉它)
5、NOFILE(无文件)功能
nofile=/mvc/controller.aspx
(注:这是Jexus特有的功能,指的是如果服务器不存在用户要访问的文件,服务器将使用什么文件应答。)
(提示:路由后,原RUL路径会存贮在Jexus特有一个服务器变量“X-Real-Uri”中)
(技巧:用这个功能,或者再加上URL Rewrite功能,你完全可以把URL路径与真实路径隔离开来,达到信息隐藏和简化URL的作用。)
6、NOLOG(无日志)功能
nolog=yes
(注:禁用网站日志功能会提高WEB服务器系统的的处理速度,但不足也是明显的,就是你无法详细了解网站的访问情况了)
7、长连接开关
keep_alive=true
注:默认使用长连接,可以不填。
8、反向代理功能
reproxy= /abc/ http://www.xxxx.com:890/abc/
参数的值由本站RUL根路径和目标网站URL根路径两部分组成,之间用空隔分开。
技巧:反向代量的目标地址可以有多个,用英文逗号分隔,如:
reproxy=/abc/ http://192.168.0.3/abc/,http://192.168.0.4/abc/
这时,当用户访问/abc/时,jexus就会随机选择一台服务器进行访问,达到负载均衡或服务器集群的效果。
9、接受FAST-CGI提供的服务
对于TCP连接:
fastcgi.add=需要fast-cgi处理的文件扩展名|tcp:fast-cgi服务的IP地址:端口
如:fastcgi.add=php,php3|tcp:127.0.0.1:9000
对于unix sockets:
fastcgi.add=需要fcgi处理的文件扩展名|socket:路径
如:fastcgi.add=php,php3|socket:/tmp/phpsvr
10、启用gzip压缩功能
UseGzip=true # 默认已启用
解释:启用这个功能后,当用户访问“.htm”“.js”等文件时,Jexus会将这些文件进行GZIP压缩后发送给用户浏览器,这样,可以节约更多的网络带宽。
11、让Jexus的工作进程和网站工作于指定的用户权限(身份)下
在jws.conf中,添加一句:httpd.user=系统中已经存在的一个用户名,如httpd.user=www-data
12、让Jexus的工作进程和ASP.NET网站工作在指定的ASP.NET版本环境中
在jws.conf中,添加一句:Runtime=版本号,如:Runtime=v4.0.30319
注:本项配置只适合jexus5.6及以下低版本。
13、启用“ASP.NET前置高速缓存”,提高网站ASP.NET应用的反应速度,减小服务器压力
这是Jexus特有的功能。功能很强劲、很实用。
方法是:在需要启用WEB平台级高速缓存的ASPX页面中加入“<%Response.AddHeader("PageCache-Time","60");%>”一句就行了,其中“60”是超时时间,单位为秒。
14、启用HTTPS进行SSL安全传输
A、添加全服务器使用的SSL配置:如果需要,可以添加一个ssl配置为所有没有单独配置ssl的网站提供共享,这个配置,对支持泛域名的证书提供了方便。
方法是,修改jws.conf中的“CertificateFile”和“CertificateKeyFile”项,分别填写证书文件和私钥文件(绝对路径)。
B、为指定的网站添加SSL配置:方法是修改网站配置文件,分别为“ssl.certificate”和“ssl.certificatekey”条目填写证书文件和私钥文件(绝对路径)。
注1:网站启用https,port必须设为443,并且UseHttps的值设为true。
注2:Jexus Https需要名为libssl的函数库支持,如果你服务器没有libss.so.xxx文件,需要安装openssl。
对于通用版,把libssl注册到 /usr/etc/mono/config中,即向这个文件添加一行(假设libssl的文件名是"libssl.so.1.0.0"):
“”
对于独立版,只需要把libssl软连到 jexus的runtime/lib文件夹中就行,如:
“sudo ln -s //lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/jexus/runtime/lib/libssl.so”
注3:如果单独为网站配备SSL证书,那么该站的hosts项填写的域名需要与SSL证书支持的域名一致。
15、启用多进程并行服务
默认配置下,jexus是以单进程模式工作的,单进程的好处是配置简单,节约内存,但弱点也很明显,比如,难以充分发挥多cpu多核的性能优势,大并发承受力、容灾力较多进程弱等等。
因此,在多CPU(核)的服务器上开启多进程,有利于提高处理速度、大并发承载能力以及服务的稳定性和容错能力。
开启多个工作进程的办法:修改jws.conf文件中的httpd.processes行,去掉前边的#号,并在等于后填上需要开启的进程数量(不超过cpu核数+1,同时,最多不超过24个)。
强调:开启多进程后,ASP.NET网站的Session状态服务不能再使用inproc模式,而应该使用“StateServer”等其它模式并在Web.config中配置“machineKey”,否则会出现Session数据丢失等现象。
16、限制每个工作进程对内存和cpu资源的消耗量
这是5.5版开始启用的参数,在jws.conf中设置,格式是。
httpd.MaxTotalMemory=所有工作进程可消耗的物理内存总量。单位是“兆字节”,可取值范围是256-服务器可用物理内存大小的整数,同时,平均到每个工作进程不能少于128m,0表示由jexus根据物理内存的大小自动设置。
httpd.MaxCpuTime=单个工作进程可消耗Cpu资源的总时间。单位是“秒”,可取值范围是300-14400的整数。0表示禁用此项
17、应用程序端口转发
格式:AppHost.Port=端口号
本配置指的是将当前配置的网站端口的数据转发到应用程序侦听端口,比如可以把该站80端口的请求转发到Asp.net Core应用程序的5000端口上。
端口转发与反向代理功能相近,但端口转发的性能更高。
注意:一是端口转发不能用于虚拟路径不是“/”的网站;二是端口转发只能在同一服务器上进行。
18、AppHost功能:驱动自宿主WEB应用程序
格式:AppHost={CmdLine=命行行; AppRoot=工作路径; Port=端口号}
说明:CmdLine:必选项。表示启动这个web应用程序的命令(含参数),如 CmdLine=/var/www/mysite/webapp
AppRoot:必选项。表示这个应用程序的工作目录,如:AppRoot=/var/www/mysite
Port:可选项。表示这个应用程序的侦听端口,多个端口用英文逗号分隔(注:如果没有填写这一项,就请在AppHost.port或reproxy中填写端口号,否则,请求数据无法转发给应用程序)。
Env:可选参数。表示这个应用程序工作时需要的环境变量,如 Env=(PATH=/myhost/bin:$PATH),多个设置用英文逗号分开。
ErrLog:可选项。表示将这个应用程序的异常输出重定向到指定的文件(需填写完整路径);
OutLog:可选项。表示将这个应用程序的控制台输出重定向到指定的文件(需填写完整路径);
User: 可选项。以指定的用户身份运行该应用程序,默认为root身份。
注意:
1,AppHost像AppHost.Port一样,不支持虚拟路径;
2,AppHost功能是将指定的具有http服务能力的web应用程序纳入jexus工作进程进行管理,对Asp.Net Core或Node.js等自宿主web程序用于生产环境具有重要的意义。
五、操作Jexus:
1、基本操作:
原jws.start等命令在Jexus V5.8.x中已经合并为一个单一命令,即“jws”,这是一个shell脚本文件。
命令参数与对应的功效:
jws start : 启动Jexus;
jws start 网站名 : 启动指定的网站
jws restart : 重启Jexus
jws restart 网站名 : 重启指定的网站
jws stop : 停止Jexus
jws stop 网站名 : 停止指定的网站
jws regsvr : 注册jexus所需要的全局程序集(本命令只在安装或更新jexus后才用,而且必须用一次,jexus独立版不需要本命令)。
jws status : Jexus是否在运行中
jws -v : 显示Jexus的版本号
注意,这些脚本的拥有者应该是root,并且拥有可执行权限。
2、让Jexus能随服务器的启动而自动启动:
方法是:在/etc/rc.local文件的加入“/usr/jexus/jws start”一行。注意,路径应该是你系统中JWS的实际路径,不要把路径写错了。
六、卸载:
1、在rc.local文件中删除你手工添加的开机自动启动Jexus的命令行(如果本来就没有添加过,这步操作就不必做了)
2、删除jexus文件夹及全部内容(建议只删除.exe和*.dll,其它的,比如网站配置文件等不必删除,以便将来重新启用)。
七、信息反馈、技术交流等联系方式:
官方网站:www.jexus.org
技术社区:www.linuxdot.net
QQ群号码:102732979,103810355
邮箱地址:[email protected]
八、重要声明:
1,Jexus V5.8.x 是免费软件,可以自由下载、传播和使用。但Jexus作者、发布者、维护者不对Jexus的用途、作用、效果、技术支持以及其它相关内容作任何明确或暗含的承诺,不负担任何直接或间接的责任。
2,为了确保Jexus的良性发展并为您提供更好的服务,Jexus需要得到广大用户和支持免费软件发展事业的热心人的大力支持:
A、您可以利用各种机会宣传Jexus优良品质、实用价值及成功案例,为Jexus的发展进步摇旗助威;
B、您可以为初学者解难答疑,发布使用心得和技术理论,为推广、普及Jexus的部署和应用作出贡献;
C、你可以将Jexus的一些重要的技术文档翻译为英文或其它文字并公开、免费发布,为Jexus跨出国门走向国际添砖加瓦;
D、您可以利用开发新工程或升级旧工程的机会,利用Jexus把原来部署在WINDOWS上的WEB应用部署到Linux上;
E、您可以通过Jexus社区、QQ群、邮箱等各种渠道及时反馈Jexus的BUG,或者向Jexus的开发者、维护者提供富有建设性意义的各种建议;
F、您可以为Jexus提供广告支持,或向开发者提供适量的经费赞助,为Jexus的持续发展提供动力源泉,Jexus作者的支付宝账号是 [email protected]

docker管理器拉取镜像失败

通过docker管理器拉取官方镜像,提示拉取成功,但是镜像列表却没有显示,已经测试了很多镜像。进入服务器通过 docker images 也无法查询到
image

建议微信小程序 宝塔进程管理器的计划任务 添加执行和编辑的功能

应用场景:Hexo博客发布,已经搭建了本地计算机与服务器端的FTP,不想每次都ssh连接服务器手动发布。已经在Web端的面板创建了计划任务并测试功能正常,这样写完博客就可以直接在小程序上一键发布。如果微信小程序端支持执行按钮就更好了,这样就更方便。

需求:微信小程序进程管理器添加计划任务执行按钮。

debian 10.3 安装后进后台报错500

系统版本:Debian 10.3
内核:5.3.18-2-pve
【现象】:
抱歉,程序异常
您请求的页面因发生异常而中断!
【错误日志】:
File "class/common.py", line 75, in local self.GetOS() File "class/common.py", line 208, in GetOS tmp['osname'] = public.ReadFile('/etc/issue').split()[0] IndexError: list index out of range [2020-03-06 00:13:13,272] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1935, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/www/server/panel/BTPanel/__init__.py", line 254, in home comReturn = comm.local() File "class/common.py", line 75, in local self.GetOS() File "class/common.py", line 208, in GetOS tmp['osname'] = public.ReadFile('/etc/issue').split()[0] IndexError: list index out of range [2020-03-06 00:13:13,912] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1935, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/www/server/panel/BTPanel/__init__.py", line 254, in home comReturn = comm.local() File "class/common.py", line 75, in local self.GetOS() File "class/common.py", line 208, in GetOS tmp['osname'] = public.ReadFile('/etc/issue').split()[0] IndexError: list index out of range [2020-03-06 00:13:14,759] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1935, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/www/server/panel/BTPanel/__init__.py", line 254, in home comReturn = comm.local() File "class/common.py", line 75, in local self.GetOS() File "class/common.py", line 208, in GetOS tmp['osname'] = public.ReadFile('/etc/issue').split()[0] IndexError: list index out of range [2020-03-06 00:13:15,164] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1935, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/www/server/panel/BTPanel/__init__.py", line 254, in home comReturn = comm.local() File "class/common.py", line 75, in local self.GetOS() File "class/common.py", line 208, in GetOS tmp['osname'] = public.ReadFile('/etc/issue').split()[0] IndexError: list index out of range [2020-03-06 00:13:53,670] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1935, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/www/server/panel/BTPanel/__init__.py", line 254, in home comReturn = comm.local() File "class/common.py", line 75, in local self.GetOS() File "class/common.py", line 208, in GetOS tmp['osname'] = public.ReadFile('/etc/issue').split()[0] IndexError: list index out of range

docker19.03安装bt6.9面板过一段时间会提示抱歉,程序异常

centos7.6 中docker19.03.01 安装mysql5.5,phpmymin,nginx1.17,php7.2,php5.4,memcached,redis5,
第二天或第三天,面板登入就会提示,【提示抱歉,程序异常】,重启docker就正常,nginx/php 照常运行。

docker run -tid --name baota -p 80:80 -p 8888:8888 -p 888:888 --privileged=true --restart always -v ~/wwwroot:/www/wwwroot pch18/baota:lnmp

oss插件文件夹显示问题

oss插件显示文件夹名称有问题,如图所示,这个文件夹应该是bt_backup,这里却显示成了bt_
image

点击bt_文件夹,里面没有文件,
image

然而在阿里云 oss 上这个文件夹名称应该是bt_backup
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.