标签归档:web

腾讯云cos挂载问题

挂载cos报错如下:

cosfs: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by cosfs)
cosfs: /usr/lib64/libstdc++.so.6: version 
GLIBCXX_3.4.15′ not found (required by cosfs)

解决如下:

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

find / -name “libstdc++.so*”

cp /soft/gcc-4.9.4/gcc-bulild-4.9.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.20 /usr/lib64/

 

 

Fastdfa 详细部署

以前操作,补一下文档:

安装环境:

10.1.14.40

10.1.14.39

2台上都安装fast_dfs和nginx ,2台上都跑,看后面截图:

下载包:

wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

wget http://nginx.org/download/nginx-1.12.2.tar.gz

git clone https://github.com/happyfish100/libfastcommon.git

cd libfastcommon

./make.sh

./make.sh install

wget https://github.com/happyfish100/fastdfs/archive/V5.09.tar.gz

cd   /usr/local/src/fastdfs-5.09/init.d/

./make.sh

./make.sh install

修改配置:

 

cp  tracker.conf.sample  tracker.conf

vi tracker.conf

disabled=false

base_path=/home/yuqing/fastdfs

vim storage.conf

disabled=false

group_name=group1

base_path=/home/yuqing/fastdfs

store_path0=/home/yuqing/fastdfs

tracker_server=10.1.14.39:22122

tracker_server=10.1.14.40:22122

启动:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf  restart

 

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf  restart

 

Nginx 安装:

./configure   –prefix=/usr/local/nginx –add-module=../fastdfs-nginx-module/src –with-pcre=../pcre-8.41

Make

make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1

make[1]: Leaving directory `/usr/local/src/nginx-1.13.6′

make: *** [build] Error 2

修改:

/usr/local/src/fastdfs-nginx-module/src/config

如下:

ngx_addon_name=ngx_http_fastdfs_module

HTTP_MODULES=”$HTTP_MODULES ngx_http_fastdfs_module”

NGX_ADDON_SRCS=”$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c”

CORE_INCS=”$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/”

CORE_LIBS=”$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient”

CFLAGS=”$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE=’256*1024′ -DFDFS_MOD_CONF_FILENAME=’\”/etc/fdfs/mod_fastdfs.conf\”‘”

 

Make

Make install

Cd

/usr/local/src/fastdfs-5.09/conf

  • cp anti-steal.jpg http.conf mime.types /etc/fdfs/
  • cd

/usr/local/src/fastdfs-nginx-module/src

cp mod_fastdfs.conf  /etc/fdfs/

vi mod_fastdfs.conf

增加一个tracker:

tracker_server=10.1.14.40:22122

tracker_server=10.1.14.39:22122

 

vim storage.conf

写入2个tracker:

tracker_server=10.1.14.39:22122

tracker_server=10.1.14.40:22122

 

vi client.conf

base_path=/home/yuqing/fastdfs

tracker_server=10.1.14.40:22122

tracker_server=10.1.14.39:22122

 

 

nginx.conf配置:

 

upstream fastdfs_tracker{

server 10.1.14.40:8080;

server 10.1.14.39:8080;

}

 

server {

listen       80;

server_name  10.1.14.40;

 

#charset koi8-r;

 

access_log  logs/host.access.log  main;

 

#location /group1/M00 {

#       root /home/yuqing/fastdfs/data/;

#       ngx_fastdfs_module;

#       }

 

location /group1/M00 {

proxy_next_upstream http_502 http_504 error timeout invalid_header;

#proxy_cache http-cache;

#proxy_cache_valid  200 304 12h;

#proxy_cache_key $uri$is_args$args;

proxy_pass  http://fastdfs_tracker;

#add_header Nginx-Cache “$upstream_cache_status”;

#expires 30d;

}

 

#error_page  404              /404.html;

 

# redirect server error pages to the static page /50x.html

#

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

 

}

 

server {

listen 8080;

server_name 10.1.14.40;

 

location / {

root html;

index index.html index.htm;

}

 

location ~/group[0-9]/M00 {

ngx_fastdfs_module;

}

}

 

Tail  -f /home/yuqing/fastdfs/logs//home/yuqing/fastdfs/logs

2017-11-01 15:22:19] ERROR – file: tracker_mem.c, line: 3872, open file /home/yuqing/fastdfs/data/storage_groups_new.dat fail, errno: 2, error info: No such file or directory

[2017-11-01 15:22:19] INFO – file: tracker_mem.c, line: 4213, sys files loaded from tracker server 10.1.14.40:22122

[2017-11-01 15:22:20] ERROR – file: tracker_service.c, line: 2149, client ip: 10.1.14.39, sync src server: 10.1.14.40 not exists

[2017-11-01 15:22:20] INFO – file: tracker_service.c, line: 969, the tracker leader is 10.1.14.40:22122

发现有报错:

解决如下:

经过调试问题暂时解决了,是多个tracker   data数据不一致,没有自动同步。
删掉新加入节点的/data目录,拷贝当前Leader tracker目录下的 /data文件 过去即可(.pid不要拷贝)

Scp –r data 10.1.14.39:/home/xxxxx/

 

重启后加入的节点14.39

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

查看日志:

[2017-11-01 15:38:13] INFO – file: tracker_relationship.c, line: 383, selecting leader…

[2017-11-01 15:38:14] INFO – file: tracker_relationship.c, line: 422, the tracker leader 10.1.14.40:22122

 

没哟报错了。

 

14.39:

 

两台上都可以上传包:

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/word.jpg

 

1.6老版本安装:

  • 先安装libvent-20.0.21-stable.tar.gz

yum install gcc-c++

yum -y install zlib zlib-devel openssl openssl–devel pcre pcre-devel

 

./configure –prefix=/usr/

Make

Make install

 

解压:FastDFS_v4.06.tar.gz  进入目录:

Vi  make.sh  去掉这行注释:WITH_LINUX_SERVICE=1

 

Make.sh

 

Make.sh install

 

Mkdir –p /home/yuqing/fastdfs

 

cd /usr/lib64/

ln -s /usr/lib/libevent-2.0.so.5 libevent-2.0.so.5

启动脚本:

service fdfs_trackerd start

service fdfs_storaged start

service fdfs_storaged status

service fdfs_trackerd status

/usr/local/nginx/sbin/nginx

tar -zxvf fastdfs-nginx-module_v1.15.tar.gz

tar -zxvf pcre-8.41.tar.gz

tar -zxvf nginx-1.6.1.tar.gz

 

./configure  –prefix=/usr/local/nginx –add-module=../fastdfs-nginx-module/src –with-pcre=../pcre-8.41

Make

Make install

Nginx.conf

#user  nobody;

worker_processes  1;

 

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

 

#pid        logs/nginx.pid;

events {

worker_connections  1024;

}

 

http {

include       mime.types;

default_type  application/octet-stream;

 

#log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘

#                  ‘$status $body_bytes_sent “$http_referer” ‘

#                  ‘”$http_user_agent” “$http_x_forwarded_for”‘;

 

#access_log  logs/access.log  main;

 

sendfile        on;

#tcp_nopush     on;

 

#keepalive_timeout  0;

keepalive_timeout  65;

 

#gzip  on;

 

upstream fastdfs_tracker{

server 10.1.9.14:8080;

server 10.1.9.16:8080;

}

 

server {

listen       80;

server_name  10.1.9.16;

 

#charset koi8-r;

 

#access_log  logs/host.access.log  main;

 

location / {

root   html;

index  index.html index.htm;

}

 

location /group1/M00 {

proxy_next_upstream http_502 http_504 error timeout invalid_header;

#proxy_cache http-cache;

#proxy_cache_valid  200 304 12h;

#proxy_cache_key $uri$is_args$args;

proxy_pass  http://fastdfs_tracker;

#add_header Nginx-Cache “$upstream_cache_status”;

#expires 30d;

}

 

#error_page  404              /404.html;

 

# redirect server error pages to the static page /50x.html

#

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

 

}

 

server {

listen 8080;

server_name 10.1.9.16;

 

location / {

root html;

index index.html index.htm;

}

 

location ~/group[0-9]/M00 {

ngx_fastdfs_module;

}

}

 

 

 

#error_page  404              /404.html;

 

# redirect server error pages to the static page /50x.html

#

#error_page   500 502 503 504  /50x.html;

#location = /50x.html {

#    root   html;

#}

 

 

}

 

以10.1.9.16为例,另一个是9.14,需要修改IP即可。

Nginx日志报:

ERROR – file: ../common/fdfs_global.c, line: 52, the format of filename “group1/M00/00/00/CgEJEFqhB6qABYBRABjk_e3WFFQ333.jpg” is invalid

解决办法:

vi /etc/fdfs/mod_fastdfs.conf

url_have_group_name=false

改为

url_have_group_name=true  

重启nginx : /usr/local/nginx/sbin/nginx –s reload

测试:

上传:/usr/local/src/FastDFS/client/fdfs_upload_file /etc/fdfs/client.conf   /tmp/word.jpg

 

访问:world

 

前端基础-CSS-1

前两篇我们简单说了下html基本知识,从这篇开始我们谈一下css内容,这篇主要还是从最基本的内容说起,让大家对css有个初步认识,掌握了css,在后续理解bootstrap的样式就比较容易了,对于了解css的小伙伴来说可能知道怎么用,但为什么要有css?它的出现解决了什么问题?这个我想可能大多数人没有思考过,接下来我们就谈一下这个问题, 因为在最早期的网站中,网页的样式都写在Html页面里,这样的问题就是会让html页面特别复杂,在越来越堆积后,如果再改某个地方会非常困难,说白了就是自己写的代码都没法维护了,那这时候呢为解决这个问题,w3c就发明了css,让html只负责页面结构内容,所有的表现分离出来单独写到一个文件里,这个文件就是样式文件css,css全称是层叠样式表 (Cascading Style Sheets),它定义了如何显示html中的元素,比如居中、字体、背景颜色等,有了它我们就实现了内容和表现的分离,使我们的代码就简单清晰了。

以上就是css的来历,下面我们实际以代码为例看如何使用,首先我们需要让我们的html文件关联一个css文件,怎么实现呢,其实很简单,我们只需要在<head>元素中加入以下代码即可:

其中href就是你关联的css文件,这里只需要注意如果你的css文件跟html文件不在一个目录,就需要写你的引用路径即可。

添加了这行,我们就可以安心的在mycss.css文件中编写我们的样式了,首先我先来一个基本的Html代码:

这是一个基本的没有样式的html代码, 前面我们说过div和span的用途,在今天这个例子里我们就会看到这两个标签的用途,它们是为样式而生,这个用chome打开的后是这样的:

css1

接下来,我们开始编写css样式文件,开始前我先说一下css样式文件的基本编写语法,css语法规则是选择器选tag,然后一个大括号,里面是一个属性:值,格式如下:

以上就是表示html中h1元素的内容颜色是红色,那接下来我们来完成几个设置:

1、h1标题字体改变为红色

2、无序列表中<li>的内容变成绿色

3、<div>标签添加一个橙色背景色,加上边框,宽度是4px,边框是双线显示。

4、<span>文字背景色绿色

5、整个文件背景编程黑色

现在我们打开一个文件,命名问mycss.css,写入如下内容:

设置完成后,保存刷新刚才打开的页面,显示如下:

css2

可以看到我们的样式已经生效了,这样就完成了最基本的css样式的设置,因为背景调整成了黑色,所以黑色字体的显示不出来了,大家实际练习的时候可以给它一个样式把它显示出来,当然这个只是最基本的调整,后面我们会以实际的一个个比较完整的例子给大家深入介绍,喜欢的小伙伴别忘转发哟~

前端基础-HTML5-2

这篇继续我们html的学习之旅,这篇主要说一下表单,因为表单在web中很常见,比如我们常见的要登陆或注册某个站点,填写个人一些信息,这都需要表单来完成,表单主要就是用于搜集不同类型的用户输入,在后续的开发过程中不免我们要让用户通过输入某些数据来决定程序的执行或者基本的登陆等,假设我们现在有一个任务要完成一个网站用户的注册表单,需要用户提供用户名称,密码,性别,邮箱,如果是一个电商类网站可能还要有一个提供支付方式,那这段基本的HTML的代码看起来是这样的:

表单的元素是<form>,表单包含的元素有<input type=“text“> 如果是type是text表示文本的输入,如果type是password表示是密码,如果type是submit,表示一个提交的按钮,<form>有两个重要的属性action和method, action表示提交表单是执行的动作,method表示提交表单是用的http方法(get,post), 看我们代码我在action里写了thankyou.html, 这个页面里写一句“感谢您注册!”,那再我们提交表单后就会跳转到这个页面。

在性别这里,我们type等于raido,这表示是一个单选按钮。

支付方式这里select是表单控件,它在浏览器的表现是会产生一个下拉的列表框,用户可以进行选择。

把上面代码保存一个html文件,然后用浏览器打开(我用的chrome),截图如下:

form

姓名和邮箱这里我们看到有提示信息,是我们在表单里用到了placeholder属性,这个属性可以提示输入预期的值,另外邮箱我们的type是email, 表单会做一个简单的判断,如果用户输入的没有@字符,会告知邮箱格式不正确,如下:

form2

如果我们给出正确的邮件格式,点击注册会跳到我们的thankyou.thml页面,展示如下:

感谢您注册!

以上就是表单的基本用法,接下来我们简单说一下DIV和SPAN元素,因为这二个元素没有特定的含义,但这二个元素在后面用处非常的多,先说div元素,这个元素是块级元素,它里面可以包含其它html元素,它没有特定的含义,主要是为了后续跟css一起进行网页布局,而span是行内元素,主要是文字,比如一行文字中几个文字颜色是红色的,这个就可用span来做,下篇我们谈到CSS时来实际操练一下。

Centos7 免费SSL证书Let’s Encrypt(certbot)安装

 

 

Centos 7.2

sudo yum install epel-release

sudo yum install certbot

修改你的服务器配置,在server模块添加:

 

重启nginx

sudo certbot certonly –webroot -w /usr/local/nginx/html/ -d www.mindg.cn

配置证书:

 

nginx –s reload

配置自动更新:

302 * *1 /usr/bin/certbot renew >>/var/log/le-renew.log