随笔 - 24  文章 - 0  trackbacks - 0
<2017年11月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿

随笔分类

随笔档案

收藏夹

调试技巧

搜索

  •  

最新评论

阅读排行榜

评论排行榜

60天内阅读排行

[1]Install some packages.
# install from EPEL

[root@dlp ~]# 
yum --enablerepo=epel -y install composer php-bcmath
[2]Install AMQP client library.
[cent@dlp ~]$ 
composer require php-amqplib/php-amqplib 

Using version ^2.6 for php-amqplib/php-amqplib ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev)   - Installing php-amqplib/php-amqplib (v2.6.3)     Downloading: 100%  Writing lock file Generating autoload files  
[cent@dlp ~]$ 
composer install 

Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Nothing to install or update Generating autoload files 
[3]This is an example of sending message on PHP.
For example, connect with RabbitMQ user "serverworld", virtualhost "my_vhost".
[cent@dlp ~]$ 
vi send_msg.php
<?php require_once __DIR__ . '/vendor/autoload.php';  use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Message\AMQPMessage;  $connection = new AMQPStreamConnection('127.0.0.1', 5672, 'serverworld', 'password', '/my_vhost');  $channel = $connection->channel(); $channel->queue_declare('Hello_World', false, false, false, false);  $msg = new AMQPMessage('Hello RabbitMQ World!'); $channel->basic_publish($msg, '', 'Hello_World'); echo " [x] Sent 'Hello_World'\n";  $channel->close(); $connection->close(); ?>  
[cent@dlp ~]$ 
php send_msg.php 

 [x] Sent 'Hello_World' 
[4]This is an example of receiving message on PHP.
[cent@node01 ~]$ 
vi receive_msg.php
<?php require_once __DIR__ . '/vendor/autoload.php'; use PhpAmqpLib\Connection\AMQPStreamConnection;  $connection = new AMQPStreamConnection('127.0.0.1', 5672, 'serverworld', 'password', '/my_vhost'); $channel = $connection->channel();  $channel->queue_declare('Hello_World', false, false, false, false);  echo ' [*] Waiting for messages. To exit press CTRL+C', "\n";  $callback = function($msg) {     echo " [x] Received ", $msg->body, "\n"; };  $channel->basic_consume('Hello_World', '', false, true, false, false, $callback);  while(count($channel->callbacks)) {     $channel->wait(); } ?>  
[cent@node01 ~]$ 
php receive_msg.php 

 [*] Waiting for messages. To exit press CTRL+C  [x] Received Hello RabbitMQ World!
posted @ 2017-11-16 17:53 长戟十三千 阅读(1) | 评论 (0)编辑 收藏
gitlab unicorn settings
https://docs.gitlab.com/omnibus/settings/unicorn.html

Unicorn settings 

If you need to adjust the Unicorn timeout or the number of workers you can use the following settings in /etc/gitlab/gitlab.rb. Run sudo gitlab-ctl reconfigure for the change to take effect.

unicorn['worker_processes'] = 3 unicorn['worker_timeout'] = 60 
Minimum required worker_processes is 2 in order for the web editor to work correctly, see gitlab-ce#18771

Edit this page
posted @ 2017-11-16 11:49 长戟十三千 阅读(1) | 评论 (0)编辑 收藏
rabbitmqctl add_user test test 
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"

posted @ 2017-11-09 10:51 长戟十三千 阅读(1) | 评论 (0)编辑 收藏

一、Install Erlang:

因为RabbitMQ是基于Erlang开发的,所以首先需要安装Erlang。

安装的方式有很多种,我比较喜欢直接使用yum安装,其他方式请自行Google。

因为yum官方源没有Erlang,所以需要添加EPEL源,具体方式如下:

su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm'

su -c 'yum install foo'

以上是针对CentOS7的命令。

附上centos5和centos6的操作命令:

For EL5:

su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm'

su -c 'yum install foo'

For EL6:

su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm'

su -c 'yum install foo'

添加源完成后,执行yum命令:

yum install erlang

如果顺利的话,应该Erlang成功安装。

二、安装RabbitMQ:

首先下载安装文件(我安装的是目前最新版,如果想尝试安装其他版本,在官网找吧):

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

yum install rabbitmq-server-3.6.5-1.noarch.rpm

好哒,不出意外,mq就安装成功了。如果有意外,只能靠你的聪明才智去解决了,编程就是这样不断的和bug作斗争。

三、设置开机启动&启动

chkconfig rabbitmq-server on

service rabbitmq-server start

四、安装web管理界面

rabbitmq-plugins enable rabbitmq_management

现在可以通过http://ip:15672访问了。



作者:Luomeng
链接:http://www.jianshu.com/p/ea6296406995
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2017-11-08 16:17 长戟十三千 阅读(7) | 评论 (0)编辑 收藏
pre: 更换阿里云的yum 源

yum install -y autojump
yum install autojump-zsh
source /etc/profile.d/autojump.sh
posted @ 2017-11-08 15:07 长戟十三千 阅读(2) | 评论 (0)编辑 收藏

使用Linux肯定少不了使用yum来安装软件,CentOS7默认的yum源貌似是网易的?反正给我的感觉是又慢又旧,于是想更换到更快的阿里云的yum源。

首先得安装wget

sudo yum -y install wget

安装好wget后开始我们的yum源切换啦~

  1. 备份原来的yum源
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  1. 设置aliyun的yum源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  1. 添加EPEL源

EPEL(http://fedoraproject.org/wiki/EPEL)是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上 EPEL后,可以像在 Fedora 上一样,可以通过 yum install package-name,安装更多软件。

sudo wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo

清理缓存并生成新的缓存

sudo yum clean all  
sudo yum makecache 

本文属转载,原文地址:http://blog.csdn.net/skykingf/article/details/51953700

posted @ 2017-11-08 15:04 长戟十三千 阅读(6) | 评论 (0)编辑 收藏

在服务器上安装一些服务的时候,需要访问进口资源,因此设置了一下全局HTTP代理(用完记得关掉。。。)

 

// 例如代理服务器地址为:10.2.1.240
// 端口号为:8123

vi /etc/profile

// 在最后添加六行
https_proxy=10.2.1.240:8123
http_proxy=10.2.1.240:8123
ftp_proxy=10.2.1.240:8123
export https_proxy
export http_proxy
export ftp_proxy

// 使设置立即生效
source /etc/profile

posted @ 2017-11-06 17:54 长戟十三千 阅读(3) | 评论 (0)编辑 收藏

解决mysql“Access denied for user 'root'@'IP地址'

在MYSQL 中,用远程软件登陆服务器,有时出现:Access denied for user 'root'@'localhost' 

出现这种问题,主要的原因就是权限配置的时候 没有配置正确。

解决方法如下:

当用Linux/unix的tty 登陆进MYSQL 时, mysql -u root -p 会提示你输入密码,输入正确的密码后正常登陆。

然后在提示符下,打命令:show grants; 会出现root如下的权限表示:GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '565491d704013245' WITH GRANT OPTION

 

此时,注意看那个“@”后面的,是localhost 意思是本机登陆,,此时,如果你用远程登陆软件来登陆的话,会出现错误提示:Access denied for user 'root'@'IP地址'。。IP地址那块是你远程机器的IP地址。也就是服务器在告诉你,当你用“IP地址”登陆时,是拒绝的,因为,MYSQL权限设置里并没有给你对应你IP地址登陆的权限。因为刚才的SHOW GRANTS;命令结果已经告诉你了,仅限本机登陆。

那解决方法如下:此时,你可以尝试用空密码连接,是可以连接进入的。或者你在服务器的tty 或者pts操作台中进入服务器后执行如下的命令:

grant all privileges on *.* to 'root'@'%' with grant option;

意思是让root在所有机器都可以登陆到MYSQL服务器(拥有所有权限)。当执行完这条命令后,用客户端登陆,此时,是需要输入口令了。

 

 

GRANT ALL PRIVILEGES

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 

Sql代码 复制代码 

   1. mysql -u root -pvmwaremysql>use mysql;  
   2. mysql>update user set host = '%' where user = 'root';  
   3. mysql>select host, user from user; 

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 

Sql代码 复制代码

  1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH

      GRANT OPTION;  
  2.FLUSH   PRIVILEGES; 

 

 

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码 

Sql代码 复制代码 

   1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY   
   2. 'mypassword' WITH GRANT OPTION;   
   3. FLUSH   PRIVILEGES;  

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 
'mypassword' WITH GRANT OPTION; 
FLUSH   PRIVILEGES; 



如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码 
Sql代码 复制代码 

   1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY   
   2. 'mypassword' WITH GRANT OPTION;   
   3. FLUSH   PRIVILEGES;  

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 
'mypassword' WITH GRANT OPTION; 
FLUSH   PRIVILEGES; 


注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。 

另外一种方法. 

在安装mysql的机器上运行: 
1、d:\mysql\bin\>mysql -h localhost -u root 
//这样应该可以进入MySQL服务器 
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION 
//赋予任何主机访问数据的权限 
3、mysql>FLUSH PRIVILEGES 
//修改生效 
4、mysql>EXIT 
//退出MySQL服务器 
这样就可以在其它任何的主机上以root身份登录啦!

posted @ 2017-10-18 17:55 长戟十三千 阅读(0) | 评论 (0)编辑 收藏

1.升级cmake
yum autoremove cmake
wget https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz
tar xzf cmake-3.7.1.tar.gz
cd cmake-3.7.1
./bootstrap
gmake -j$(nproc)
make install
cd ..
rm -fr cmake*

2.安装pip

sudo yum -y install epel-release
sudo yum -y install python-pip
sudo yum clean all
pip install distribute

3.安装依赖库

wget http://llvm.org/releases/3.9.1/llvm-3.9.1.src.tar.xz
wget http://llvm.org/releases/3.9.1/cfe-3.9.1.src.tar.xz
wget http://llvm.org/releases/3.9.1/compiler-rt-3.9.1.src.tar.xz
wget http://llvm.org/releases/3.9.1/clang-tools-extra-3.9.1.src.tar.xz
tar xf llvm-3.9.1.src.tar.xz
mv llvm-3.9.1.src llvm
cd llvm/tools
tar xf ../../cfe-3.9.1.src.tar.xz
mv cfe-3.9.1.src clang
cd clang/tools
tar xf ../../../../clang-tools-extra-3.9.1.src.tar.xz
mv clang-tools-extra-3.9.1.src extra
cd ../../../projects
tar xf ../../compiler-rt-3.9.1.src.tar.xz
mv compiler-rt-3.9.1.src compiler-rt
cd ../..
mkdir llvm-build
cd llvm-build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/data/software/clang3.9.1 -DLLVM_OPTIMIZED_TABLEGEN=1 ../llvm
make -j$(nproc)
make install
end

posted @ 2017-10-12 15:19 长戟十三千 阅读(17) | 评论 (0)编辑 收藏

YouCompleteMe 的强大想必大家都听说过,简单的用一句话来概括的话,媲美 VS 的自动补全 当然可能有一点点过,但可见其强大。但是作为一个十分强大的 vim 插件,他可是十分的难以安装,几乎所有的人,都会在安装阶段苦苦挣扎(别问老夫怎么知道的),然后要么成功安装享受工具带来的便利,要么放弃继续使用传统的自动补全工具(当然也没有那么差,但可能没有 YCM 那么强大)。

经过老夫的辛苦探索,终于在听到 YCM 大名的一年之后成功安装,所以分享出来,希望能够帮助到更多的人。另外如果在安装过程中遇到任何问题都欢迎在评论与我讨论。

有了你我才是我,你的存在令我完整
—— 老夫

系统环境:Kali-Rolling on Oracle VirtualBox,可以当作是最新版(或者说实验版)的 Debian

目标:成功安装使用 YCM, 尽量少的编译软件(即尽量使用预编译 deb 包),尽量可以实现更多种语言的自动补全

安装步骤:

0. 确保 vim 版本是 7.4.143 或以上,并且支持 python 2/3 脚本


vim version

从上图可以看出老夫的 vim 版本是 8.0.49 且支持 python3 脚本但不支持 python2 脚本(截图的倒数第 7,8 行)
如果你的打印结果中没有相关 python 脚本信息,还可以在 vim 中键入命令 :echo has('python') || has('python3'),若结果是 1 则证明是支持的。

若不论是 vim 版本不满足条件或者是不支持 python 脚本,那么就需要从源码编译安装 vim 了,

1. 通过 Vundle 来安装 YCM(官方推荐)

快速安装 vim 的插件管理插件 vundle

在 vim 的配置文件 ~/.vimrc 中添加一行(在call vundle#begin()call vundle#end() 之间)

call vundle#begin() . . .  Plugin 'Valloric/YouCompleteMe’ . . . call vundle#end()

然后保存运行 vim 命令 :PluginInstall 安装 需要特别注意的是这个时候可能等的时间会相当的长

这个时候打开 vim 可能则会有警告如下图


vim warning

1.5 通过 Git 安装 YCM

如果你跟老夫一样,等待 Vundle 安装 YCM 等了好久终于貌似好像成功了,打开 vim 却发现 YouCompleteme unavailable : no module named future (当然没有遇到算你运气好),那么你应该考虑一下换用 Git 来安装 YCM:

# 下载 (在 `~/.vim/bundle` 目录下) $ git clone --recursive [https://github.com/Valloric/YouCompleteMe.git](https://github.com/Valloric/YouCompleteMe.git) # 检查完整性(在 `~/.vim/bundle/YouCompleteMe` 目录下) $ git submodule update --init --recursive

2. 下载安装最新版的 libclang

如果不需要 C 家族的语义化补全,则可跳过这一步

# apt-get install llvm-3.9 clang-3.9 libclang-3.9-dev libboost-all-dev

PS: YCM 官方墙烈推荐使用上游编译的二进制文件代替系统自带的 libclang

You can use the system libclang only if you are sure it is version 3.9 or higher, otherwise don't. Even if it is, we recommend using the official binaries from llvm.org if at all possible. Make sure you download the correct archive file for your OS.

We STRONGLY recommend AGAINST use of the system libclang instead of the upstream compiled binaries. Random things may break. Save yourself the hassle and use the upstream pre-built libclang.

3. 编译构建 ycm_core

需要:cmake python3-dev

YCM 的顶层目录或者说根目录应该是 ~/.vim/bundle/YouCompleteMe

  • 创建一个目录放编译过程中产生的文件
$ mkdir ~/.ycm_build $ cd ~/.ycm_build
  • 生成 makefile

如果跳过第三步的话,则可以直接运行

$ cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

如果没有跳过第三步,说明需要 c 家族的语义化补全则需运行

$ cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

有问题的编译

编译通过的,没有报错,但是这个编译结果是有问题的,看第 3 行,反复强调的 c 家族的语义补全没有了。经过老夫反复的检查,原来是上面的编译命令少了一个 - 符号

$ cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

这个时候编译的过程如下图:


编译正常

其实这个还是有问题的,看倒数第 3、4 行,使用的是外部的 libclang-3.6 ,第 2 步中说的系统安装的 libclang 最低要是是 3.9。
这个时候就需要删除 ~/.ycm_build 目录下的所有文件,使用下面的命令指定 libclang 的版本重新编译。

$ cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-3.9.so . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

编译的结果是之前新建的目录(也就是当前目录下生成了一些 Makefile 文件)


Makefile
  • 构建 ycm_core
#  --config Release 这个构建选项进针对 Windows $ cmake --build . --target ycm_core --config Release

build ycm_core

3.5 配置

  • 复制 .ycm_extra_conf.py 文件
$ cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/
  • 添加 vim 配置
    注意下面的 python 解释器的路径要和编译 ycm_core 的时候使用的 python 解释器是相同的版本(2 或 3)
“ ~/.vimrc let g:ycm_server_python_interpreter='/usr/bin/python' let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'

4. 其他语言的支持

C#、Go、TypeScript、 JavaScript、 Rust support
由于老夫对这些语言没有太多的涉猎就不做介绍了。

5. 测试安装

首先新建一个 hello.c 文件,


hello.c

可以看到自动补全了头文件,厉害了老夫的 YCM

然后在 vim 中运行 :YcmToggleLogs stderr 命令查看错误日志,


stderr

没有看到报错信息,则证明 YCM 已成功安装。



作者:Helperhaps
链接:http://www.jianshu.com/p/d908ce81017a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2017-10-12 10:49 长戟十三千 阅读(14) | 评论 (0)编辑 收藏
仅列出标题  下一页