标签: nginx

终于,还是给黑色自由加上了https

原本黑色自由一直都是不带https的,懒得操作,也懒得操心。

起因是某天凌晨,在手机上打开黑色自由的时候,发现页面下方被加了一条广告。本来是习以为常的事情,但出现在了这里,就顿时觉得不爽,电信运营商猥琐这事早几年就知道,但没想到的是居然轮到了黑色自由的头上,无奈就只能套个https在上面了,加了ssl,总比裸http强吧。

操作方法就很简单,使用let’s encrypt的证书,certbot安装,它会自动帮你找到nginx配置文件里的站点,全程提问式,几分钟就搞定,然后自己写个crontab隔一个月跑一次自动更新一下就行,操作方法我就不写出来了,给个地址自己去看好了:

https://certbot.eff.org/lets-encrypt/debianbuster-nginx

nginx提示host not found in upstream错误

今天重启nginx,发现nginx报错,看了一下systemd的错误提示,journalctl -xe,原来报错了:

host not found in upstream

看了下配置文件,原来是proxy_pass后面跟的是域名,但以前的时候都没有出现过这个问题啊,今天才刚出现的。

后来看到有人在location段加dns,才想起来原来nginx的服务器配的dns服务器停了,那就来更新一下dns服务器吧:

vi /etc/resolv.conf

改成阿里云的DNS吧,223.5.5.5.

再重启nginx,好,一切正常。

nginx网址后自动添加斜线

原因:

公司的前端nginx,之前做的upstream负载,后来更新,直接放在了目录下面,所以之前用的地址xxxx.com/xxx就变成了xxxx.com/xxx/,但是大多数人收藏夹里放的是不带斜线/的。新地址因为放在了目录下面,实际上nginx是可以自动添加斜线的,但添加后的地址不正确,这里就要用的nginx的两个参数:

1、server_name_in_redirect on(默认),URL 重定向为: server_name 中的第一个域名 + 目录名 + /;
2、server_name_in_redirect off,URL 重定向为: 原 URL 中的域名 + 目录名 + /。

port_in_redirect off

如果port_in_redirect为off时,那么始终按照默认的80端口;如果该指令打开,那么将会返回当前正在监听的端口。

因为公司的nginx是443端口,原先在访问的时候自动把端口号弄上去了,所以就把port_in_redirect off掉就行了。

网站的301重定向方法

今天在百度上才发现原来黑色自由带www的域名是无法打开的,原因是没有在nginx里面做301重定向。晚上回家就把www域名重定向了一下,方法有2种:

1、使用nginx的301重定向规则:

if ($host != ‘www.dfreedom.net’ ) {
rewrite ^/(.*)$ http://www.dfreedom.net/$1 permanent;
}

本站之前使用的就是nginx的301重定向,这次并没有使用。

2、域名的301重定向:

本站使用的是dnspod的服务,其系统本身就可以实现www的重定向:

QQ图片20140109185702

域名的301重定向对于网站来说是很有必要的,因为本站在nginx配置信息里面只写的顶级域名,www没有写进去,所以造成网站无法访问,国内的一些搜索引擎还是会默认爬www站。

debian下nginx不显示图片解决办法

vps用的是debian系统,装完cms后发现图片都显示不了,单独打开图片也无法显示,返回404,文件找不到,所以,应该是nginx配置问题。

在debian下,编辑/etc/nginx/site-available/default

添加:

location ~ \.(jpg|png|jpeg|bmp|gif|swf|css)$
{
access_log off;
expires 30d;
root /www/htdocs/market;
break;
}

将root后的路径改为你网站路径即可。

debian安装nginx php sqlite

接上回在easevps购买了17美元小内存vps,原本选择的是centos linux,因为很多人都在使用这个系统,都说系统稳定、性能好,结果在安装nginx php sqlite的时候蛋疼了,nginx php安装好以后,php-sqlite死活不行,网上的材料能试的都试了,包括那个repo,还是不行,估计只能够自己的编译make了,可我又不想费那事,最后还是换回了熟悉的debian系统。实践证明,debian nginx php sqlite绝对不是一般的方便,deb系的ubuntu也类似。

安装起来很方便,添加dotdeb的源:

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

然后apt-get update,再apt-get -y install php5-cgi php5-fpm php5-gd php5-suhosin php5-sqlite nginx sqlite3

基本上就安装完成了,具体nginx的配置,把locatons php的那一段启用就可以了,然后再web目录下丢一个phpinfo(),去浏览器里面看一下吧,整个系统是运行起来了。

17美元一年easevps低配vps运行cms系统

easevps是个新的空间商,正好在做推广,最低配置的vps有货,alertpay里面也有去年做投票赚的美元,于是乎就下手买了一个。

17美元一年,128M的内存,15GB硬盘,6TB流量,其实这样的vps最适合最图床之类,流量大,空间大,不过我还是拿它来做站了。

不得不承认,linux太强大了,配合一个简单的cms,架站不成问题,这里黑色自由运行的就是debian 6系统,nginx php-fpm sqlite,跑的是akcms,基本上一个小站跑起来应该不成问题。期间在装系统的时候选择的是centos,后来配置php sqlite的时候实在是太麻烦太麻烦了,最后忍不了了,就换了很熟悉的debian系统,配置起来简直没有悬念。具体的配置方法还是以后写出来吧,反正非常容易。

现在系统的内存使用大概在40M左右,因为站点还没搞完,剩下的内存,支持个1K左右的访问应该不成问题哦。