apache2(旧) 只监听ipv4的80端口

修改/etc/apache2/port.conf 的listen指令
Listen 80改为 Listen 0.0.0.0:80
When Apache starts, it binds to some port and address on the local machine and waits for incoming requests. By default, it listens to all addresses on the machine. However, it may need to be told to listen on specific ports, or only on selected addresses, or a combination of both. This is often combined with the Virtual Host feature, which determines how Apache responds to different IP addresses, hostnames and ports.
The Listen directive tells the server to accept incoming requests only on the specified ports or address-and-port combinations. If only a port number is specified in the Listen directive, the server listens to the given port on all interfaces. If an IP address is given as well as a port, the server will listen on the given port and interface. Multiple Listen directives may be used to specify a number of addresses and ports to listen on. The server will respond to requests from any of the listed addresses and ports.
For example, to make the server accept connections on both port 80 and port 8000, on all interfaces, use:
Listen 80
Listen 8000
To make the server accept connections on port 80 for one interface, and port 8000 on another, use
Listen 192.0.2.1:80
Listen 192.0.2.5:8000
IPv6 addresses must be enclosed in square brackets, as in the following example:
Listen [2001:db8::a00:20ff:fea7:ccea]:80

Special IPv6 Considerations
更多 »

Apache服务器防止跨站的设置方法

NameVirtualHost 198.192.159.123 #这句话指定Apache为虚拟机功能,使用后各自网站就独立了不会出现打开网站都是同一个网站的问题

DocumentRoot “E:/wwwroot/baidu.com”
ServerName www.server110.com

Order Allow,Deny
Deny from all
更多 »

Nginx配置SSL证书部署HTTPS网站

一、什么是 SSL 证书,什么是 HTTPS

SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:
1、数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听;
2、用户可以通过服务器证书验证他所访问的网站是否真实可靠。
(via百度百科)

HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层。HTTPS 不同于 HTTP 的端口,HTTP默认端口为80,HTTPS默认端口为443.

二、什么网站需要使用SSL证书

1、购物交易类网站
不用多说,网上银行、支付宝、Paypal等肯定会全程加密以保护你的信息安全。

2、注册与登陆
一些大的网站,比如电子邮箱,注册会员或者登陆的时候,会专门通过SSL通道,保证密码安全不被窃取。

3、某些在线代理
这个。。。嗯哼,就不说了。

4、装B
比如我……

三、自行颁发不受浏览器信任的SSL证书

为晒晒IQ网颁发证书。ssh登陆到服务器上,终端输入以下命令,使用openssl生成RSA密钥及证书。
更多 »

全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。

  它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。


  1、自行颁发不受浏览器信任的SSL证书:
  HTTPS的SSL证书可以自行颁发,Linux下的颁发步骤如下:

openssl genrsa -des3 -out api.bz.key 1024
openssl req -new -key api.bz.key -out api.bz.csr
openssl rsa -in api.bz.key -out api.bz_nopass.key

  点击在新窗口中浏览此图片

  Nginx.conf的SSL证书配置,使用api.bz_nopass.key,在启动Nginx是无需输入SSL证书密码,而使用api.bz.key则需要输入密码:

引用
server
{
   server_name sms.api.bz;
   listen  443;
   index index.html index.htm index.php;   root  /data0/htdocs/api.bz;

   ssl on;
   ssl_certificate api.bz.crt;
   ssl_certificate_key api.bz_nopass.key;
   ……
}

  自行颁发的SSL证书虽然能够实现加密传输功能,但得不到浏览器的信任,会出现以下提示: 更多 »

修改.htaccess实现301重定向

出于SEO、PR值传递、网址转换的目的,在网站初建和网站迁移时我们都需要使用301重定向,通常包括域名对域名,目录对目录和一个独立网址对另一个独立网址的重定向。在bluehost虚拟主机上作301重定向,最常用的方法有2种:
1.直接编辑.htaccess。
2.用cPanel设定。
实质二者都是修改文件.htaccess,只是前者手工编辑,后者是由cPanel完成。用cPanel操作相当简单,登陆你的 cPanel(bluehost虚拟主机可以选简体中文)–>Domain–>Redirects,选择相应的选项即可完成设置,这里暂不讨论。下面讲一下直接编辑.htaccess的方法。
注意:在设置301重定向之前务必备份相应目录下的.htaccess文件。
1.重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。
打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

更多 »

部署MVC4默认Web API Demo测试jexus

部署MVC4默认Web API Demo进行测试

在编译部署前

将项目改成.Net 4.0

将“Site.css” 文件名 改成“site.css”,因为Linux下去区分大小写的哦 ^_^
更多 »

Mysql 集群参考资料

MYSQL集群专题:http://database.51cto.com/art/201008/218326.htm

最终不建议使用MYSQL集群。

西部数码负载均衡解决方案


提高业务可用性

一般我们通过部署多台主机提高服务的可用性,云主机配合SLB一起使用,无需任何程序修改,即可方便的实现高可用方案。SLB通过检测后端服务的健康程度,自动隔离异常的实例,迅速实现故障切换;当该实例恢复正常的时候,又会自动恢复负载。

更多 »

使用shell监控重要进程

使用性能比较差的vps来建站很容易出现PHP-fpm、mysqld、Nginx进程挂掉的情况,平时也没有其它的监控手段一出现问题小站就要挂上一段时间至到自己要来查资料的时候发现,这种情况过一段时间就会出现让人郁闷,针对这种情况可以写脚本来对这些进程进行监控。

#!/bin/sh
#php-fpm
if [[ $(ps -ef |grep -v grep | grep php-fpm | wc -l) -lt 4 ]]
then
/usr/local/php/sbin/php-fpm > /dev/null 2>&1 &
fi

将这个文件保存为一个xx.sh chmod +x xx.sh,通过计划任务每隔一分钟来检测一次就可以了

Nginx独立虚拟主机配置方案 独立php.ini

【博主声明】这个方案仅供参考、个人认为很扯淡、不可行、不能量化部署到生产环境,而且本文部分代码格式有问题。

最近租了台服务器,准备做一些网站。纠结apache/nginx很久,最后选定了Nginx+php-fpm。
因为可能会有几个站,为了安全,我希望每个站点直接都能尽量独立,避免互相影响。

主要实现功能:
-能够相对快捷的添加虚拟主机。
-每个虚拟主机直接相对独立,避免一个网站有漏洞,全服务器手影响
-能够方便的配置urlrewrite,还是需要reload或restart ( 谁让nginx 不支持像 .htaccess 这样吗方便的东西呢?)
-每个虚拟主机能独立配置php.ini

下面就是大概实现方法。
更多 »

WordPress数据库查询SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC 时发生Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'jingjing.wp_posts.post_date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by错误,这是由require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/green-hope/archive.php'), get_sidebar, locate_template, load_template, require_once('/themes/green-hope/sidebar.php'), dynamic_sidebar, call_user_func_array, WP_Widget->display_callback, WP_Widget_Archives->widget, wp_get_archives查询的。

Copyright © All Rights Reserved · 菁菁博客 Since 2012 · Proudly powered by WordPress