月度归档:2015年03月

腰椎小关节紊乱锻炼恢复方法

腰椎小关节紊乱康复锻炼方法

 

 

本法是笔者亲自体验发现的一个方法,

方法十分简单,

不花一分钱,

对身体无任何损害,

很可能为你尽快解除痛苦。

不久前,

由于一次劳动,

导致腰痛难忍,经医生检查确诊为腰椎间盘突出及腰椎小关节紊乱,其

中以后者为主。经过理疗、推拿按摩、贴敷各种膏药、口服壮腰建肾丸

等药,效果均不显著。后来自己突发奇想,做了几次下蹲运动,结果奇

迹发生了:两天见效,不到两周症状完全消失。具体做法是:

 

1

、自然站立,两腿分开与肩同宽,两手自然下垂,挺胸、抬头、

收腹,目视前方。

 

2

、下蹲:大约每分钟

30

——

40

次,下蹲时,两臂自然向前、向上

摆动至与眼同高,手心向下,下蹲到最低时,手臂上摆到最高位置(与

眼同高)

。下蹲的位置可根据个人年龄、体质情况决定,一般向下的幅

度在

20

——

30

厘米左右,幅度越大,运动强度越大;站起时,手臂随

之自然下垂摆动。依此反复下蹲——站起。大约做

200

——

300

次即可,

时间约

7

——

10

分钟。

 

坚持用本法锻炼,不仅可以治疗腰椎小关节紊乱,而且对身体的锻

炼效果也十分显著,各位不妨一试,相信您一定会尝到甜头的!

 

祝各位身体健康!

   脊椎小关节综合征又称脊椎小关节紊乱,系指脊椎小关节在扭转外力作用下,超出正常活动范围而发生侧向滑移,造成其周围韧带肌肉损伤和超出生理活动范围,且不能自行复位而导致脊椎功能障碍者。临床较为常见,本病的出现,既有脊椎结构上的内因,又有脊椎不能承受负荷失稳的外因。包括:颈椎小关节错位、胸椎小关节错位、腰椎小关节错位、骶髂关节错位。本病好发于青壮年,若治疗不当,或耽误治疗,可引起持续性的颈、胸、腰、骶部的疼痛。其中腰椎小关节错位又称腰椎滑膜嵌顿综合征最为常见及严重,另节叙述。本节主要讨论颈、胸及骶髂关节错位。


    本法是笔者亲自体验发现的一个方法,方法十分简单,不花一分钱,对身体无任何损害,很可能为你尽快解除痛苦。不久前,由于一次劳动,导致腰痛难忍,经医生检查确诊为腰椎间盘突出及腰椎小关节紊乱,其中以后者为主。经过理疗、推拿按摩、贴敷各种膏药、口服壮腰建肾丸等药,效果均不显著。后来自己突发奇想,做了几次下蹲运动,结果奇迹发生了:两天见效,不到两周症状完全消失。具体做法是:  
1、自然站立,两腿分开与肩同宽,两手自然下垂,挺胸、抬头、收腹,目视前方。  
2、下蹲:大约每分钟30——40次,下蹲时,两臂自然向前、向上摆动至与眼同高,手心向下,下蹲到最低时,手臂上摆到最高位置(与眼同高)。下蹲的位置可根据个人年龄、体质情况决定,一般向下的幅度在20——30厘米左右,幅度越大,运动强度越大;站起时,手臂随之自然下垂摆动。依此反复下蹲——站起。大约做200——300次即可,时间约7——10分钟。  
   坚持用本法锻炼,不仅可以治疗腰椎小关节紊乱,而且对身体的锻炼效果也十分显著,各位不妨一试,相信您一定会尝到甜头的! 

免费且开源的项目管理工具redmine3的安装和升级

Redmine

这是一款开源的、灵活的项目管理Web解决方案。使用Ruby on Rails框架编写的,支持跨平台和跨数据库。主要功能包括:

  • 灵活的项目控制;
  • 支持多个项目;
  • 灵活的问题追踪系统;
  • Gantt图表;
  • 新闻、文件/文档管理;
  • 电子邮件/心疼通知;
  • 实时追踪;
  • 每个项目论坛;
  • 每个项目Wiki;
  • 自定义字段条目时、问题、影虎以及项目;
  • SCM集成(CVS,SVN,Git,Mercurial,Darcs,Bazaar);
  • 支持多个LDAP验证;
  • 支持多语言;
  • 使用email创建问题;
  • 支持用户自定义注册;

  • 支持多种数据库。

免费且开源的项目管理工具redmine3的安装和升级

参考:

http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Requirements

Redmine 3.0的需求:
current trunk	ruby 1.9.3, 2.0.01, 2.1, 2.2	Rails 4.2

1. 搭建redmine3环境

【安装软件包】
# yum install zlib-devel gcc gcc-c++ make autoconf curl-devel ImageMagick-devel mysql mysql-devel


【下载安装包,修改db和email的设置】
# tar zxvf redmine-3.0.0.tar.gz && cd redmine-3.0.0/config
# cp -a database.yml.example database.yml
# cp -a configuration.yml.example configuration.yml


【建立ruby2.2 + rails 4.2的环境】
# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
# curl -sSL https://get.rvm.io | bash -s stable --ruby --rails               

重新登录一次:
$ ruby -v
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
$ rails -v
Rails 4.2.0


# rvm gemset list

gemsets for ruby-2.2.0 (found in /usr/local/rvm/gems/ruby-2.2.0)
=> (default)
   global

# cd /data/website/ ;mv redmine-3.0.0 redmine  【安装依赖包】
# ./bin/bundle install --without development test
--- bundle install的时候半天没有响应,具体可以用 gem install bundle -V 来查看执行过程。
如何更换:
$ gem sources --remove https://rubygems.org/ 
$ gem sources -a https://ruby.taobao.org/ 
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org # 请确保只有 ruby.taobao.org $ gem install rails
# useradd -s /sbin/nologin -M -c "redmine" redmine
# chown -R redmine:redmine /data/website/redmine-3.0.0

若是全新安装:
【db】

mysql登录后,建立redmine数据库和用户:
# mysql -h x.x.x.x -P xxxx -uroot -p 
mysql> create database redmine character set utf8 collate utf8_bin;
mysql> create user ‘redmine‘@‘127.0.0.1‘ identified by ‘xxxxxx‘;
mysql> grant all privileges on redmine.* to ‘redmine‘@‘127.0.0.1‘;
mysql> exit;

# rake generate_secret_token
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data
# mkdir -p tmp tmp/pdf public/plugin_assets
# chmod -R 755 files log tmp public/plugin_assets


若是升级:
【db】
备份数据库
检查db用户权限
命令行测试连接

执行:
# bundle exec rake generate_secret_token
# bundle exec rake db:migrate RAILS_ENV=production
若有插件:
# bundle exec rake redmine:plugins:migrate RAILS_ENV=production

# bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production




启动服务:
# cd /data/website/redmine-3.0.0/
# ruby bin/rails server webrick -e production
也可以放入后台:
# nohup ruby bin/rails server webrick -e production >>/data/log/web/redmine/running_redmine.log 2>&1 &


默认管理员:admin, admin
访问http://IP:3000


2. 迁移redmine服务到nginx下
# yum install pcre pcre-devel
# wget http://nginx.org/download/nginx-1.6.2.tar.gz
# tar zxvf nginx-1.6.2.tar.gz -C /data/download/
# mkdir -p /var/cache/nginx/{client_temp,proxy_temp,fastcgi_temp,uwsgi_temp,scgi_temp}
# gem install passenger
# passenger -v
Phusion Passenger version 4.0.59

"Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.

注:若遇到gem install passenger不能生效的问题,可能是ruby的仓库被GFW了,此时,先安装fastthread可以解决问题:
# gem install fastthread
# gem install passenger

安装:
# passenger-install-nginx-module

Enter your choice (1 or 2) or press Ctrl-C to abort: 2

--------------------------------------------

Where is your Nginx source code located?

Please specify the directory: /data/download/nginx-1.6.2

--------------------------------------------

Where do you want to install Nginx to?

Please specify a prefix directory [/opt/nginx]: /etc/nginx

--------------------------------------------

Extra Nginx configure options

If you want to pass extra arguments to the Nginx ‘configure‘ script, then
please specify them. If not, then specify nothing and press Enter.

If you specify nothing then the ‘configure‘ script will be run as follows:

  sh ./configure --prefix=‘/etc/nginx‘ --with-http_ssl_module --with-http_gzip_static_module \
 --with-http_stub_status_module --with-cc-opt=‘-Wno-error‘\
 --add-module=‘/usr/local/rvm/gems/ruby-2.2.0/gems/passenger-4.0.59/ext/nginx‘

Extra arguments to pass to configure script: --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
 --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx

--------------------------------------------

Confirm configure flags

The Nginx configure script will be run as follows:

  sh ./configure --prefix=‘/etc/nginx‘ --with-http_ssl_module --with-http_gzip_static_module \
--with-http_stub_status_module --with-cc-opt=‘-Wno-error‘ \
--add-module=‘/usr/local/rvm/gems/ruby-2.2.0/gems/passenger-4.0.59/ext/nginx‘ \
--sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx



--------------------------------------------

Nginx with Passenger support was successfully installed.

Please edit your Nginx configuration file,
and set the passenger_root and passenger_ruby configuration options in the
‘http‘ block, like this:

  http {
      ...
      passenger_root /usr/local/rvm/gems/ruby-2.2.0/gems/passenger-4.0.59;
      passenger_ruby /usr/local/rvm/gems/ruby-2.2.0/wrappers/ruby;
      ...
  }

After you (re)start Nginx, you are ready to deploy any number of web
applications on Nginx.


Press ENTER to continue.

--------------------------------------------

Deploying a web application: an example

Suppose you have a web application in /somewhere. Add a server block
to your Nginx configuration file, set its root to /somewhere/public, and set
‘passenger_enabled on‘, like this:

   server {
      listen 80;
      server_name www.yourhost.com;
      root /somewhere/public;   # <--- be sure to point to ‘public‘!
      passenger_enabled on;
   }

And that‘s it! You may also want to check the Users Guide for security and
optimization tips and other useful information:

  /usr/local/rvm/gems/ruby-2.2.0/gems/passenger-4.0.59/doc/Users guide Nginx.html
  https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
https://www.phusionpassenger.com

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.



# useradd -s /sbin/nologin -M -c "nginx Server" nginx
# mkdir -p /etc/nginx/conf.d /data/log/svr/nginx /data/log/web/redmine

$ cat /etc/nginx/nginx.conf

#user  nobody;
worker_processes  4;

error_log  /data/log/svr/nginx/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        /var/run/nginx.pid;


events {
    use epoll;
    worker_connections  65535;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;

    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  /data/log/svr/nginx/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay on;
    keepalive_timeout  65;


    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_body_temp_path /tmp;
    client_max_body_size 500m;


    fastcgi_connect_timeout 600;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 3600;
    fastcgi_buffer_size 400k;
    fastcgi_buffers 16 1m;
    fastcgi_busy_buffers_size 10m;
    fastcgi_temp_file_write_size 20m;
    fastcgi_intercept_errors on;

    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_disable        "MSIE [1-6].";
    gzip_types  text/plain application/x-javascript text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    
    passenger_root /usr/local/rvm/gems/ruby-2.2.0/gems/passenger-4.0.59;
    passenger_ruby /usr/local/rvm/gems/ruby-2.2.0/wrappers/ruby;

    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include conf.d/*.conf;

}


$ cat /etc/nginx/conf.d/redmine.conf    
#
# redmine
#
server {
    listen       10.221.221.118:80;
    server_name  redmine.xxx.com;
    root   /data/website/redmine-3.0.0/public;
    passenger_enabled on;

    access_log  /data/log/web/redmine/access.log  main;
}

爆笑的邮件自动回复内容,邮件自动回复心理

相信很多人都会在外出或休假时把自己的邮件设置成“自动回复”——写上一小段话向来信的人说明自己不在。而以下这几位老兄就有才了,看看他们的回复,你会不会哭笑不得呢?不过有些人明明在工作,没有出差旅行也设置自动回复,到底是什么心理?

1. I am currently out of the office at a job interview and will reply to you if I fail to get the position. Please be prepared for my mood。

我现在不在办公室、在外头面试一工作。如果成不了,我就回来回复你——你最好有心理准备我会发飙。

2. You are receiving this automatic notification because I am out of the office. If I was in, chances are you wouldn’t have received anything at all。

你现在收到这个自动回复就表示我不在办公室。如果我在办公室,那你多半啥也收不到。

3. Sorry to have missed you, but I’m at the doctor’s having my brain and heart removed so I can be promoted to our management team。

抱歉错过了你的消息,因为我现在医生这里、让他们把我整一个没心没肺的,好晋升到管理层。

4. I will be unable to delete all the emails you send me until I return from vacation. Please be patient, and your mail will be deleted in the order it was received。

要等我休假回来我才有时间删你发来的邮件哦。耐心点,我会按你发的顺序依次删除哒!

5. Thank you for your email. Your credit card has been charged $5.99 for the first 10 words and $1.99 for each additional word in your message。

谢谢你的来信。前十个字将从你的信用卡中扣除5.99美金,以后每个字按1.99美金计费。

6. The email server is unable to verify your server connection. Your message has not been delivered. Please restart your computer and try sending again。

邮件服务器无法检测到你的链接。你的讯息未能被发送,请重启电脑试着再发一遍。

7. Thank you for your message, which has been added to a queuing system. You are currently in 352nd place, and can expect to receive a reply in approximately 19 weeks。

谢谢你的来信,它已被添加到列队等候系统。你现在所在的位置是352位,预计将于19周后收到回复。

8. Hi, I’m thinking about what you’ve just sent me. Please wait by your PC for my response。

嗨,我在想你刚刚发给我的东西,请侯在电脑旁边等我回复。

9. I’ve run away to join a different circus。

我跟你现在不是一圈子里的人。

10. I will be out of the office for the next two weeks for medical reasons. When I return, please refer to me as ‘Kate’ instead of Dave。

我因为身体原因未来两周都会休假。等我回来之后记得叫我“凯特”(女生名),不要再叫大卫了。



人明明在工作,难道跟运营商打交道的都喜欢这样,但是其他公司没有这个习惯呀,真的是奇葩公司!发完邮件给别人后立即就能收到自动回复,没有意义,还要删除,觉得很烦人。这是礼貌的表现吗?

QQ截图20150313163831.jpg

同意LZ,不同意LS。自动回复只是到达对方服务器了,又不代表对方看到邮件了,没有意义。

我平时邮件很多,最烦的就是自动回复了。。。感觉很rude。

其实自动回复的作用主要在,比如“I’m on vacation, 需要几时才能回复你的邮件”这种时候,平时就不用开了吧。。。


这玩意主要是两个作用:

1、用来告诉对方他的邮件确实已经收到了,并且你没发错人,和为了避免以后出问题扯皮,主要是对服务对象的用户体验上的要求。–看来还有人是这个心理,无语了

2、确实是不在,告诉对方可能会过一段时间才会回复邮件

linux之CentOS配置proftpd

1.proftpd软件下载安装

[root@chenghy ~]# cd /root

[root@chenghy ~]# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4c.tar.gz

[root@chenghy ~]# tar zxvf proftpd-1.3.4c.tar.gz

[root@chenghy ~]# cd proftpd-1.3.4c

[root@chenghy ~]# ./configure –prefix=/usr/local/proftpd

[root@chenghy ~]# make

[root@chenghy ~]# make install


 2.修改proftpd配置文件

[root@chenghy ~]# vim /usr/local/proftpd/etc/proftpd.conf

ServerName “chenghy’s FTP Server”

ServerType standalone # 以独立进程方式运行

DefaultServer on

Port 2100 # FTP端口

Umask 002 # 权限,建议设置为002

UseReverseDNS off # 禁止DNS反查

IdentLookups off # 禁止DNS反查

ServerIdent off # 隐藏软件版本信息

AllowRetrieveRestart on # 下载断点续传

AllowStoreRestart on # 上传断点续传

## 虚拟用户认证信息

AuthOrder mod_auth_file.c # 只允许虚拟用户登陆

AuthUserFile /usr/local/proftpd/etc/ftp.users

AuthGroupFile /usr/local/proftpd/etc/ftp.group

DefaultRoot ~ # 将用户限定在根目录下

PassivePorts 20000 30000 # 被动模式端口段

SystemLog /var/log/proftpd/proftpd.log # 软件日志

TransferLog /var/log/proftpd/proftpd.xfer.log

LogFormat default “%h %u %t %D \”%r\” %s %b” # 日志格式

ExtendedLog /var/log/proftpd/access.log WRITE,READ default # 访问日志

MaxInstances 250 # 允许最大连接

MaxClients 20 # 最大用户数

MaxLoginAttempts 3 # 最大尝试连接次数

TimeoutLogin 30 # 身份验证超时

TimeoutIdle 120 # 发呆超时

TimeoutNoTransfer 300 # 无数据传输超时

User nobody # 定义ftp以哪个用户身份运行

Group nobody # 定义ftp以哪个用户组身份运行

<Directory ~/>

AllowOverwrite on # 允许写入覆盖

 <Limit LOGIN CWD RETR READ DIRS> # 设置虚拟用户读权限

 AllowALL

 </Limit>

 <Limit ALL> # 设置omd用户所有权限

 Order allow,deny

 AllowUser omd

 DenyALL

 </Limit>

</Directory>


 3.添加proftpd虚拟用户和组

[root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd –passwd –name=bsmp –home=/home/omd/file/ –uid=2001 –gid=2000 –shell=/sbin/nologin –file=/usr/local/proftpd/etc/ftp.users

[root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd –passwd –name=omd –home=/home/omd/ –uid=2002 –gid=2000 –shell=/sbin/nologin –file=/usr/local/proftpd/etc/ftp.users

[root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd –group –name=myftp –gid=2000 –member=bsmp –member=omd –file=/usr/local/proftpd/etc/ftp.group


 4.将proftpd用户目录设置权限

[root@chenghy ~]# chown -R 2002:2000 /home/omd/


####下面两行用来删除用户和组###########

[root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd –passwd –name=bsmp  –delete-user –file=/usr/local/proftpd/etc/ftp.users

[root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd –group –name=myftp  –delete-group –file=/usr/local/proftpd/etc/ftp.group


 5.将proftpd添加到系统服务

按照网上的资料修改/etc/rc.d/init.d/proftpd文件后发现配置不成功,后来自己修改了一下此文件完成了配置

[root@chenghy ~]# vim /etc/rc.d/init.d/proftpd

#!/bin/sh

# Source function library.

. /etc/rc.d/init.d/functions

RETVAL=0

start() {

 echo -n $”Starting proftpd : “

 daemon /usr/local/proftpd/sbin/proftpd -c /usr/local/proftpd/etc/proftpd.conf 2>/dev/null

# daemon命令是/etc/rc.d/init.d/functions中自带的

 RETVAL=$?

 echo

 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd

}

stop() {

 echo -n $”Shutting down proftpd : “

 killproc proftpd

# killproc命令是/etc/rc.d/init.d/functions中自带的

 RETVAL=$?

 echo

 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd

}

# See how we were called.

case “$1” in

 start)

 start

 ;;

 stop)

 stop

 ;;

 restart)

 stop

 start

 ;;

 *)

 echo “Usage: proftpd { start | stop | restart }”

esac

[root@chenghy ~]# chmod 755 /etc/rc.d/init.d/proftpd

[root@chenghy ~]# chkconfig add proftpd

[root@chenghy ~]# chkconfig –level 35 proftpd on

[root@chenghy ~]# service proftpd start

 6.防火墙设置proftpd端口

只允许主动模式访问添加下面的第①、②条,只允许被动模式访问添加下面的②、③条,两种模式都允许添加下面①、②、③条。

[root@chenghy ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 20 -j ACCEPT

[root@chenghy ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 2100 -j ACCEPT

[root@chenghy ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 20000:30000 -j ACCEPT