宝塔怎么切换php,unavailable怎么解决?
一、访问出现503 service unavailable,但刷新一下又能正常访问
出现这种情况是由于网站超过了iis限制造成的,比如2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。
解决方法:增加IIS连接数就可以解决。
二、不限制IIS连接数,但还会提示503 service unavailable
这种情况一般都是使用ACCESS数据库的网站,通过分析就可以知道是ACCESS引擎当了。通过排查会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。
解决方法:通过服务器医生的文件医生修复就可以恢复正常。
三、浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable
出现该问题的的原因是Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟服务器的应用程序池。
解决方法:
1、首先我们需要验证虚拟服务器是否正确配置了应用程序池,默认的应用程序池是 MSSharePointPortalAppPool。
a).单击“开始”选择“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
b).打开“ServerName”,展开“Web 站点”,右键单击虚拟服务器,然后单击“属性”。
c).单击“主目录”选项卡,为虚拟服务器配置的应用程序池列在“应用程序池”框中。
d).单击“确定”即可。
2、验证应用程序池帐户是服务器上的 IIS_WPG 组和 STS_WPG 组的成员。
3、重新启动 IIS 以回收应用程序池。
四、网站第一次出现“service unavailable”问题,直接重启IIS就行了。步骤如下:
1、使用快捷键Windows+R打开运行,输入iisreset就可以实现IIS重启。
2、在开始菜单中搜索IIS,然后打开IIS,然后选择重新启动IIS也可以。
五、网站经常出现service unavailable503,或者重启iis后仍然会挂掉的方法
1、套用CDN
首先你要排除下服务器或vps资源是否够用,看下你的服务器各项资源是否都在正常值(cpu,带宽,内存等),现在的vps或者服务器都有后台面板统计的,cpu你长期百分之百肯定有问题,当你的硬件资源没有空闲时会导致iis工作不正常的,会报一些乱七八糟的错误,其实比较简单的解决方法就是网站访问加cdn,套上cdn后,网站需要的服务器资源都走cdn了,iis负载也下来了,自然不会报错。
2、关掉一些不必要的软件功能
比如很多站长用安全狗防护网站,软件确实不错,但会造成卡顿。另外你的安全级别默认或者很高的话,拦截的会非常多,有时一秒钟能拦击几个到十几个,这样也消耗了你的服务器。
3、网站自身程序问题
网站运行中如果交互性不重要,就把网站静态化,动态在iis下跑比较费力的,尤其是php
4、切换系统服务
网站如果还在用iis系统或在win上搭建的apache/nginx,建议换成linux系统,其实linux也没那么难,推荐amh或宝塔一键安装php环境,然后用winsp(类似ftp的可视化管理工具)管理文件和权限就可以了。
宝塔与云帮手哪个好用?
宝塔面板(BT Panel/aaPanel)是一款服务器管理软件,支持 windows 和 linux 系统,可以通过 Web 端轻松管理服务器,提升运维效率。例如:创建管理网站、FTP、数据库,拥有可视化文件管理器,可视化软件管理器,可视化 CPU、内存、流量监控图表,计划任务等功能。
1)新手操作难易程度
云帮手对新手更友好一点,从一开始的安装、添加服务器都比较方便,直接通过软件自带的远程功能安装探针端就可以了。
2)安全巡检/修复功能
一键安全巡检和修复功能,这个功能还是宝塔免费版没有的,整体使用下来我觉得云帮手还不错,没出现什么问题,如果你不是很喜欢宝塔的使用操作的话,推荐你可以试试这个。
3)防护功能完善度
宝塔关于安全防护的内容只有IP黑白名单的设置,相比之下云帮手这方面会比较完善一点,分别有系统防护、网络连接管控、端口防护和IP黑白名单几个功能,对服务器的防护会更全面一些。
服务器怎么搭建?
你是要搭什么服务器?这里分享个linux的web服务器搭建,大概步骤就是下载服务器软件,安装-----启动服务器,修改配置文件-----修改相关路径-----定义服务器属性---测试,收工,
Nginx web服务器
1、下载nginx
命令:wget http://nginx.org/download/nginx-0.8.54.tar.gz
2、解压
命令:tar zxvf nginx-0.8.54.tar.gz
3、进入目录
命令:cd nginx-0.8.54
4、安装依赖包
命令:yum -y install gcc pcre-devel openssl openssl-devel (没有网络可在centos中找相关rpm)
5、执行 ./configure
命令:./configure
6、继续安装
命令:
make
和
make install
7、启动nginx服务
命令:/usr/local/nginx/sbin/nginx
8、重启nginx服务
命令:/usr/local/nginx/sbin/nginx -s reload
9、修改站点的配置文件
命令:vi /usr/local/nginx/conf/nginx.conf
10、多站点设置
⑴、在 /usr/local/nginx/conf/ 下创建 vhost 目录
命令:mkdir /usr/local/nginx/conf/vhost
⑵、在 /usr/local/nginx/conf/vhost 里创建一个名字为 linlik.conf 的文件,把站点配置文件写入(请查看最下面的站点内容)
命令:vi /usr/local/nginx/conf/vhost/linlik.conf
⑶、打开 /usr/local/nginx/conf/nginx.conf 文件,在相应位置加入 include 把以上2个文件包含进来
在页尾后括号上面加入一句:include vhost/*.conf; 然后保存退出并重启nginx服务
11、多站点的站点配置文档内容
如下:
server
{
listen 80;
#listen [::]:80;
server_name jiahaolin.com www.111cn.net;
index index.html index.htm index.php default.html default.htm default.php;
root /www/jiahaolin;
include emlog.conf;
#error_page 404 /404.html;
location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
#include pathinfo.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log /home/wwwlogs/jiahaolin.com.log access;
}
NGINX下如何自定义404页面
IIS和APACHE下自定义404页面的经验介绍文章已经非常多了,NGINX的目前还比较少,为了解决自家的问题特地对此作了深入的研究。研究结果表明,NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步:
1.创建自己的404.html页面
2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;
3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 )
中在server 区域加入: error_page 404 /404.html 或者 error_page 404 =http://www.xxx.com/404.html
4.更改后重启nginx,,测试nginx.conf正确性: /opt/nginx/sbin/nginx –t
#502 等错误可以用同样的方法来配置。
error_page 500 502 503 504 /50x.html;
注意事项:
1.必须要添加:fastcgi_intercept_errors on; 如果这个选项没有设置,即使创建了404.html和配置了error_page也没有效果。fastcgi_intercept_errors 语法: fastcgi_intercept_errors on|off 默认: fastcgi_intercept_errors off 添加位置: http, server, location 默认情况下,nginx不支持自定义404错误页面,只有这个指令被设置为on,nginx才支持将404错误重定向。这里需要注意的是,并不是说设置了fastcgi_intercept_errors on,nginx就会将404错误重定向。在nginx中404错误重定向生效的前提是设置了fastcgi_intercept_errors on,并且正确的设置了error_page这个选项(包括语法和对应的404页面)
2.不要出于省事或者提高首页权重的目的将首页指定为404错误页面,也不要用其它方法跳转到首页。
3.自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。例如,假设自定义了404.html,大小只有11个字节(内容为:404错误)。
Nginx 配置安装以及一些常遇到的错误
nginx 编译安装 一、安装nginx时必须先安装相应的编译工具
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
建立nginx 组
groupadd -r nginx
useradd -s /sbin/nologin -g nginx -r nginx
id nginx
zlib:nginx提供gzip模块,需要zlib库支持
openssl:nginx提供ssl功能
pcre:支持地址重写rewrite功能
Nginx 官网下载地址: http://nginx.org/ 最新版 http://nginx.org/download/nginx-1.5.2.tar.gz
二、tar -zxvf nginx-1.2.8.tar.gz
三、cd nginx-1.2.8
配置
四、./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
--with-http_stub_status_module
或者使用默认的 直接 ./configure
编译并且安装
五、make && make install
编译完成后 make install 进行安装 安转后就大功告成拉
小结:centos没有安装make编译器
解决:yum -y install gcc automake autoconf libtool make
重启动命令 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 更多参考 nginx --help
nginx 的配置以及常见小问题 如下:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
问题描述:地址已被使用。可能nginx服务卡死了,导致端口占用,出现此错误。
解决方法:首先用lsof:80看下80端口被什么程序占用。lsof返回结果如下:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 3274 root 6u IPv4 10664 0t0 TCP *:http (LISTEN)
nginx 3547 nginx 6u IPv4 10664 0t0 TCP *:http (LISTEN)
发现是nginx程序,所以我们把nginx服务k掉,重新启动服务。。命令如下:
kill -9 3274
kill -9 3547
或者 killall -9 nginx
从新载入配置文件启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
启动成功了但是发现一个错误信息
[warn]: 51200 worker_connections are more than open file resource limit: 51200
虽然不是致命的问题 不影响nginx运行 但是看起来很烦人 我们来解决一下
nginx.conf 配置问题
events {
use epoll;
worker_connections 51200; // 这里出的问题
}
问题原因是 Linux的最大文件数限制。修改Linux 文件数限制 ulimit -n 51200
[root@localhost ~]# ulimit -n
[root@localhost ~]#
接下来从新载入配置文件重启动Ok了....
nginx error_log 错误日志配置说明
nginx的error_log类型如下(从左到右:debug最详细 crit最少):
[ debug | info | notice | warn | error | crit ]
例如:error_log logs/nginx_error.log crit;
解释:日志文件存储在nginx安装目录下的 logs/nginx_error.log ,错误类型为 crit ,也就是记录最少错误信息;
注意error_log off并不能关闭日志记录功能,它将日志文件写入一个文件名为off的文件中,如果你想关闭错误日志记录功能,应使用以下配置:
error_log /dev/null crit;
把存储位置设置到Linux的黑洞中去
同样注意0.7.53版本,nginx在读取配置文件指定的错误日志路径前将使用编译的默认日志位置,如果运行nginx的用户对该位置没有写入权限,nginx将输出如下错误:
[alert]: could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) log_not_found 语法:log_not_found on | off
默认值:on
使用字段:location
这个参数指定了是否记录客户端的请求出现404错误的日志,通常用于不存在的robots.txt和favicon.ico文件,例如: location = /robots.txt { log_not_found off; }
最后:所有nginx配置发生改变时,最好都使用如下命令测试配置是否错误后再使用 -s reload 重载
# /usr/local/nginx/sbin/nginx –t
说明:
1、# 代表root权限,不用输入
2、以上是nginx的默认安装路径,如果改变了要相应的修改哦,例如 wdcp 的 lanmp 一键安装包 则如需要用如下命令
# /www/wdlinux/nginx/sbin/nginx -s reload
输入后如果提示如下,则表示配置无误:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
这时再使用重载命令让Nginx平滑的重新加载配置即可,而不会影响正常访问:
# /usr/local/nginx/sbin/nginx -s reload
有什么比较好用的工具?
远程登录服务器的工具有很多,但每个工具都有自己的优点和缺点,无法做到全能。用什么工具还得看服务器使用的是哪种远程连接的协议,要不就变成了大炮打蚊子,白瞎。
Telnet是最早使用的远程登录协议Telnet协议是TCP/IP协议簇中的一员,它是早期互联网远程登录服务的主要协议标准,所以绝大多数70、80、90后对于它并不陌生。过去不管是Windows、Linux、MacOS,还是路由器、交换机等等网络设备都可以使用Telnet通过命令进行远程控制,就跟控制本地的电脑一样简单。UNIX则使用Rlogin来进行服务器的远程控制。
但Telnet是一种不安全的文字命令接口协议,客户端和服务器之间的Telnet是未经加密的,可以访问通信主机之间的TCP/IP数据包流的任何人都可以重建在端点之间流经的数据,包括用于登录到服务器的用户名和密码。一旦入侵者与服务器建立了Telnet连接就可以控制服务器的软、硬件资源。
所以渐渐地Windows、Linux、MacOS就将Telnet从系统软件中删除,网络设备也建立的开关的机制。但仍然有很多的系统、网络管理员、专业安全人员,包括很多的普通人都喜欢使用Telnet,仅仅通过Windows的CMD,Linux、MacOS的终端就可以建立连接,当然现在要使用需要安装相应的程序,因为系统已经不再默认包含Telnet了。
SSH是Telnet的继任者SSH出现的目的就是为了取代之前Telnet协议的不足,免遭网络的嗅探攻击。SSH是一种建立在应用层和传输层基础上的加密网络传输协议,可以为远程登录会话提供安全性的连接。
目前几乎所有的操作系统都支持SSH,SSH除了可以进行远程访问之外,还支持隧道协议、端口映射、X11连接,借助SFTP或者SCP协议,SSH甚至还可以传输文件。
通常情况下我们会使用Putty、WinSCP、xshell、Mobaxterm、SecureCRT、Terminus、Electerm、Finallshell、SimpleRemote、Zoc Terminal、XManager来创建SSH远程访问。当然Linux、MacOS系统自带的终端模拟器,以及Windows的PowerShell也可以通过SSH命令直接登录服务器,但讲真确实没有上面的软件来得好用。
图形化的远程登录协议单纯的SSH只能与远程的服务器进行命令交互,但借助X11已经可以进行图形化的操作了。
Windows默认使用的一种图形化远程桌面协议是RDP(即Remote Desktop Protocol),只需要通过Windows自带的远程桌面连接就可以远程的访问另一台局域网电脑或者具有公网IP地址的服务器。
与RDP相对应的就是应用在Linux上的XRDP,XRDP接收来自各种RDP客户端的连接,不管是FreeRDP、rdesktop、NeutrinoRDP等等还是Windows自带的远程桌面连接,适用于Windows、MacOS、Linux、IOS和Android。
提到远程桌面连接不得不提到基于RFB协议,就是VNC所使用的协议,它也是一款优秀的远程控制工具,适用于所有的窗口系统,相信很多人都用过。RDP协议更倾向于传输指令,而RFB协议更倾向于传输图像,在完成同样的操作情况下,RFB的数据传输量比RDP要大。VNC软件通常会使用RealVNC、UltraVNC、TightVNC、x11VNC。
图形化的远程登录协议还有Xdmcp、FreeNX、Xpra等等,这里就不再多做介绍,感兴趣的小伙伴们可以网上单独了解。
远程登录还有一些专有协议这里提到远程登录的专用协议相信很多人会一脸懵逼,如果说起鼎鼎大名的TeamViewer相信大家就会豁然开朗。TeamViewer实现远程登录就是基于它自己的专有协议,这种协议是属于TeamViewer这家公司的。TeamViewer并不需要公网IP就可以实现两台电脑之间的远程控制,并且兼容市面上几乎所有的电脑操作系统和手机操作系统,也可以通过浏览器去远程控制一台运行TeamViewer的机器。
TeamViewer的火爆程度可想而知,但TeamViewer自作之路,普通人连续控制两台以上远程设备就会提示你不能用于商业用途,并且不能再用。后来TeamViewer被爆黑客攻击,使得很多人对它失去了信心,再加上向日葵、Todesk、Anywhere等等基于专有协议的远程控制软件的相继出现,好用免费快速的挤占了TeamViewer的市场份额。
总结远程登录服务器的软件好不好用,还是要看基于什么协议,然后还要看用的人做什么用途。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!我有一份php代码?
很高兴能回答你的问题。针对问题,我有两个方面的建议,第一:如果你要学习php的话,那么我建议安装原生php环境 + nginx(或者apache) + mariadb(或者mysql)。第二:如果只是单纯的运行php代码的话。无需数据库的小型代码,建议直接使用网上工具运行,大型应用或者需要数据库的代码则在本地安装集成环境是最好的选择。下面我将具体针对第二个方面进行回答。如有需要可以联系我,我很乐意解答你的疑惑。
1. php在线运行工具
网上有很多相关工具,搜索关键字“php在线运行”就可以找到。这里我就推荐使用菜鸟工具。
2. 集成环境phpstudy
集成:apache + mysql + php。
phpstudy无需安装,解压之后即可使用。而且php自带域名绑定工具,还有内置front数据库管理工具以及运维常用的phpmyadmin数据管理工具,作为简单使用的话,这两款工具已经足够。phpstudy还有一些简单功能,如快速更改apache,php的配置,重置mysql密码,备份mysql数据等。
3. 集成环境宝塔
目前我有很多同学都在使用宝塔集成环境,其可扩展性强、支持web管理界面、支持定时任务、新版更聚合了服务器信息api(可以通过api接口,更更个性化的管理服务器)。对于新手来说,使用宝塔省去很多时间,例如宝塔可以随时更换环境,服务支持apache、nginx和windows下的iis。运行环境支持php和windows下的asp。同时支持一键安装ftp,phpmyadmin等工具,还支持快速安装常用的开源网站程序,如wordpress,z-blog等。具体功能,还得自己试了才清楚。
希望能解决你的问题。