魏长东

weichangdong

正在查看: linux 分类下的文章(第 6 页 / 共 76 篇)

nginx网站配置别的端口

想折腾下网站端口的事情,把默认的80端口改成别的端口。发现很简单。只是把nginx配置的

 listen 80;改成你想改的端口(当然这些端口别被别的程序占用了)

我改成 listen 8080;

»»阅读全文

php长连接workerman学习

在linux虚拟机环境下安装了workerman,开始不知道从哪开始,最后自己搞了几个文件,折腾出了几个效果。

虽然暂时不知道内部代码是咋实现的,但是表面的应用层算是知道了点皮毛。

启动的效果(因为是监听不同的端口,所以虽然启动了两个,也不冲突,I think)。

workerman-0.jpg

显示http的形式:
建立了一个http.php文件。代码都是来自workerman的说明文件。

<?php
require_once './Workerman/Autoloader.php';
use Workerman\Worker;

// #### http worker ####
$http_worker = new Worker("http://127.0.0.1:10000");
$http_worker->count = 4;
$http_worker->onMessage = function($connection, $data)
{
    // send data to client
    $connection->send("hello world $data\n");
};

// run all workers
Worker::runAll();
我的理解是当127.0.0.1的10000端口有数据的话,就会给他返回hello world加上发送过来的数据(经自己
测试,还会返回http的头信息)。

»»阅读全文

php的socket学习笔记

用php的socket实现了:

客户端发送信息=》服务器收到信息=》客户端收到服务器的返回信息=》显示出来

代码是网上copy别人的,自己搭建环境执行了下。

server.php 服务端文件

<?php
error_reporting(E_ALL);
set_time_limit(0);
//ob_implicit_flush();
$address = '127.0.0.1';
$port = 10005;
//创建端口
if( ($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
	echo "socket_create() failed :reason:" . 
socket_strerror(socket_last_error()) . "\n";
}
//绑定
if (socket_bind($sock, $address, $port) === false) {
	echo "socket_bind() failed :reason:" . 
socket_strerror(socket_last_error($sock)) . "\n";
}
//监听
if (socket_listen($sock, 5) === false) {
	echo "socket_bind() failed :reason:" . 
socket_strerror(socket_last_error($sock)) . "\n";
}
do {
	//得到一个链接
	if (($msgsock = socket_accept($sock)) === false) {
		echo "socket_accepty() failed :reason:".
socket_strerror(socket_last_error($sock)) . "\n";
		break;
	}
	//welcome  发送到客户端
	$msg = "<font color='red'>server send:welcome</font><br/>";
	socket_write($msgsock, $msg, strlen($msg));
	echo 'read client message\n<br />';
	$buf = socket_read($msgsock, 8192);
	$talkback = "received message:$buf\n<br/>";
	echo $talkback;//在服务端命令行可以看到的此输出
	if (false === socket_write($msgsock, $talkback, strlen($talkback))) {
		echo "socket_write() failed reason:" . 
socket_strerror(socket_last_error($sock)) ."\n";
	} else {
		echo 'send success';//在服务端命令行可以看到的此输出
	}
	socket_close($msgsock);
} while(true);
//关闭socket
socket_close($sock);
?>

»»阅读全文

shell的正则

shell不常用有些基本的语法老是记不住,比如shell的if正则判断。shell的语法,感觉好不友好。空格啥的不能乱加,也不能少。

[root@swordman test]# cat sort
1-2
3-3
6-4
8-5
6-1
1-7
1-2
21-2

要求是打印出1-开头的数据。

#!/bin/bash
for wcd in `cat sort`
do
	if [[ $wcd =~ "^1-.*" ]]
	then
		echo $wcd
	fi
done

»»阅读全文

expect的安装

spawn命令激活一个Unix程序来进行交互式的运行。 
send命令向进程发送字符串。
expect 命令等待进程的某些字符串。 
expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作。

我接触的expect是用他做登陆。或者做ftp上传文件啥的,不用输入密码什么的。

»»阅读全文

安装php的redis扩展

在linux下安装了redis,想进一步在php中使用,那就得安装php的redis扩展了。

wget https://codeload.github.com/owlient/phpredis/zip/master

unzip phpredis-master.zip
mv  phpredis-master   /usr/local/php/include/php/ext/phpredis
cd /usr/local/php/include/php/ext/phpredis
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config

»»阅读全文

linux下安装redis

想安装个redis玩玩,之前在win7下也装过。

wget http://download.redis.io/releases/redis-2.8.3.tar.gz
tar xzf redis-2.8.3.tar.gz
cd redis-2.8.3
make【不是./configure,直接make】

make完了,但是src目录下面没有redis-cli,redis-server等这些文件。然后就用make test测试了下。

make test
cd src && make test
make[1]: Entering directory `/root/redis-2.8.3/src'
    LINK redis-server
zmalloc.o: In function `zmalloc_used_memory':
/root/redis-2.8.3/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'

结果看到有报错,网上搜了下,说是这样执行make CFLAGS="-march=i686",然后照着执行了,果然ok了。

mkdir /usr/local/redis
cd src
cp redis-server redis-benchmark redis-cli    /usr/local/redis/
cp  /usr/redis
cp  /usr/redis
cp ../redis.conf /usr/local/redis/

然后修改了系统路径,执行redis-server redis.conf ,然后用xshell另外开启一个窗口。

redis-cli
127.0.0.1:6379> set wcd 'hello'
OK
127.0.0.1:6379> get wcd
"hello"
127.0.0.1:6379> 

大功告成!

虚拟机linux下安装git

之前也安装过git,这些时日没事做,就再来倒腾倒腾。

wget https://www.kernel.org/pub/software/scm/git/git-2.3.2.tar.gz
tar xvzf git-2.3.2.tar.gz 
 cd git-2.3.2  
 ./configure
 make && make install
 git --version安装成功!

下面是具体应用和配置。

»»阅读全文

Tags: git

曲折的过程-linux安装composer

网上看了安装composer的教程,就两行命令,结果我安装的时候,一个雷接一个雷的。

虚拟机linux装composer,

curl -sS https://getcomposer.org/installer | /usr/local/php/bin/php 

报错说连不上host,然后我用我的电脑用浏览器代理把php文件下载下来,然后传到虚拟机linux再去执行。

/usr/local/php/bin/php composer.php,结果又报错

【Some settings onyour machine make Composer unable to work properly.
Make sure thatyou fix the issues listed below and run this script again:
The opensslextension is missing, which means that secure HTTPS transfers areimpossible.
If possible youshould enable it or recompile php with --with-openssl】

然后一看,我当时装php的时候,装了openssl,但是编译安装php的时候,确实没有加--with-openssl选项。

如是,决定装php的openssl。

»»阅读全文

Tags: composer

配置php-fpm和nginx

折腾了好久终于把nginx和php-fpm安装好了。但是只能访问静态文件,不能访问php,中间改了一些配置,可以王文index.php但是不能访问别的php文件,例如wcd.php。

具体过程就不说了,直接上结果。主要是这个文件nginx.conf 。

»»阅读全文