WHO IS GIGI?
Wednesday, February 7, 2018
Thursday, January 4, 2018
nginx php5.3+mysql5.1 redhat6.5 配置记录
一台没有联网但是有安装介质的rhel6.5-x86_64服务器。 计划安装部署上php+mysql 服务。由于有安装介质,光盘上的mysql版本5.1,php 版本5.3.3 ,没办法软件版本老就老了凑合用了。
1.首先挂载上iso光盘
# mount -o loop -t iso9660 /csys/rhel-server-6.5-x86_64-dvd.iso /mnt/vcdrom/
2.安装 php mysql
# cd /mnt/vcdrom/Packages/ # ls -rlt php* mysql* # rpm -ivh mysql*.rpm --nodeps --force # rpm -ivh php*.rpm --nodeps --force
3.编译安装nginx nginx 安装没什么说的,源码nginx-1.12.2编译安装。
# ./configure # make & make install
4.安装一些php依赖包,rhel5.6介质中的包很少的,基本的php-fpm也是没有的。 可以从以下网站获取rpm包:
https://www.rpmfind.net
http://ift.tt/2E6yIR7
http://rpm.pbone.net/
php-fpm-5.3.3-26.el6.x86_64.rpm php-mbstring-5.3.3-26.el6.x86_64.rpm php-mcrypt-5.3.3-5.el6.x86_64.rpm libmcrypt-2.5.8-9.el6.x86_64.rpm
5.nginx.conf 配置
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
6.php 配置 编辑/etc/php.ini
session.save_path = “/var/lib/php/session” session.auto_start = 1
# chmod -R 777 /var/lib/php
7.设置服务开机启动
# chkconfig php-fpm on # chkconfig mysqld on
8.启动服务
# service mysqld start # service php-fpm start # /usr/local/nginx/sbin/nginx # mysqladmin -u root password ‘passwd’
9.验证nginx以及php服务
# echo “” > /usr/local/nginx/html/info.php
打开浏览器输入http://REMOTE/
打开浏览器输入http://REMOTE/info.php
10.安装phpMyAdmin 下载并解压phpMyAdmin-4.0.10.20-all-languages.tar.gz,建立到/usr/local/nginx/html/的软连接。 注意phpMyAdmin 支持的php版本。
from WordPress http://ift.tt/2lSiYdK
via IFTTT
Friday, May 19, 2017
UEFI模式下RemixOS+Win10 启动项修改
主题:UEFI模式下RemixOS+Win10 启动项中顺序及超时修改
如果win10 是HDD UEFI安装的而非U盘安装,使用Remix官方的安装工具安装后,默认启动Remix OS,菜单超时时间30s. 由于RemixOS 启动使用grub.cfg,而该文件安装在引导分区。这里给出最简单最快的方法,不依赖第三方软件:
- Win +X (A) 进入管理员命令行模式
- 执行以下命令:
mountvol B: /s cd B:\boot\grub B: notepad grub.cfg
- 在打开的记事本中添加修改:(设置默认windows 1o 启动,超时时间10s)
set default=0 set timeout=10
- 保存退出,执行
mountvol B: /d exit
- 重启看看效果。
from WordPress http://ift.tt/2qXYO6d
via IFTTT
Tuesday, November 15, 2016
ngnix and fastcgi and cicstg 开发环境搭建
一个搭建HTTP Server的项目需求,虽然方案没有最终确定,使用Ngnix做代理转发,后端使用使用开发语言无关的CGI应用进行业务逻辑处理,初步技术是可行的。但使用C语言开发WebServer 应用或许真不是什么好主意,那这样想啊,我们还用CICS这么古老的东西呢?–这里又忍不住想吐槽cics了..这个架构中的毒瘤!…. 进入正题吧,首先安装ngnix,ngnix的强大就不用叨叨了,安装也相当顺利。
- 下载安装PCRE
# wget http://ift.tt/2cvrgVV # ./configure;make;make install;
- 下载安装nginx->[这里]
# wget http://ift.tt/2etHrUc # ./configure;make;make install;
这样就可以启动nginx,默认安装在了/usr/local/nginx目录下.
- 下载安装spawn-fcgi,可以从Github Lighthtpd项目中下载,也可以直接从lighttpd.net这里下载。同样可以编译出
Spawn-fcgi这个可执行程序。ngnix是支持FastCgi的,但是没有这个CGI管理程序。 - 接下来就可以写CGI程序了,可以使用一些现成开源库,当然也可以自己写。
- 安装CICS TRANSACTION GATEWAY,!!!NOTE!!![这玩意基本上支持32系统,安装时也会各种水土不服的,你可能需要32位的jre..]安装开发中可能需要32位支持,比如:
libXp.i686 glibc-devel.i686
–慢慢享受其中的酸爽吧%$%$%.
- 顺利的话应该可以写代码测试一下了。以下代码片段是接受从浏览器提交的表单然后提交CTG请求,编写代码编译。
while (FCGI_Accept() >= 0) {
memset(sBufIn,0,sizeof(sBufIn));
FCGI_fread(sBufIn, sizeof(char), sizeof(sBufIn), FCGI_stdin);
if(strlen(sBufIn)==0)
{
memcpy(sBufIn,sParmas,strlen(sParmas));
}
memset(&tHttpIn,0x00,sizeof(HttpReqT));
rc=InitHttpIn(&tHttpIn,sBufIn);
resultSize= URLDecode(tHttpIn.MsgIn, tHttpIn.MsgIn, sizeof(tHttpIn.MsgIn));
rc=CallCtgSvr(&tHttpIn);
if(rc != RC_OK)
{
printf("Content-type: text/plain\r\n"
"\r\n"
""
"QUERY_STRING :%s.\n"
"REQUEST_METHOD : %s.\n"
"CONTENT_TYPE : %s.\n"
"CONTENT_LENGTH : %s.\n"
"SERVER_PROTOCOL : %s.\n"
...
}
...
}
// CTG 调用函数
// CTG_openRemoteGatewayConnection();
// CTG_ECI_Execute(gatewayToken, &eciParms);
// Makefile libs -m64 -lctgclient -lfcgi
- 配置nginx 端口转发处理FASTCGI.
location ~ \.cgi$ {
fastcgi_pass 127.0.0.1:8000;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME fcgi$fastcgi_script_name;
include fastcgi_params;
}
- 配置nginx 端口转发处理FASTCGI.启动CGI程序。
/usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 8000 -f /usr/local/nginx/cgi-bin/ctgcls
- 使用浏览器测试或其他HTTP 客户端程序测试
#!/usr/bin/env python
#coding=utf8
import httplib, urllib
httpClient = None
try:
#params = urllib.urlencode({'name': 'tom', 'age': 22})
params = '''TEST CTG..'''
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
httpClient = httplib.HTTPConnection("192.168.101.181", 80, timeout=30)
httpClient.request("POST", "/ctgcls.cgi", params, headers)
response = httpClient.getresponse()
print response.status
print response.reason
print response.read()
print response.getheaders() #获取头信息
except Exception, e:
print e
finally:
if httpClient:
httpClient.close()
from WordPress http://ift.tt/2fAHJpR
via IFTTT
Tuesday, September 6, 2016
[Sovled]CM13 can NOT sync contacts-CM13无法同步google联系人
Nexus 5刷完cm13+opengapps(pico) 之后,goolge服务,google play store 等应用都有了,可以正常登录google账号,但是打开CM13自带的联系人应用则空空如也,只能选择添加账号。选择添加账户,只有Exchange选项,并没有Google选项!!可是Google账号明明已经成功登录了!?
BUG/Problem:CM13(CyanogenMod) Missed Google Contacts option and can not sync,when flashed cm13+opengapps(pico) and login in andriod system.There is nothing but ‘add account’ or ‘import new’ option when Opening the CM13 stock Contacts app. Enter add account menu,there is no Google option do not like other phones or other system.
通过对比一台正常手机,发现刷入的Gapps少了Google Contacts Sync这个服务。需要安装这个APP,选择正确的版本下载,安装。
下载地址:http://ift.tt/2c6VwVg
HowToSolve:You should download ‘GoogleContactsSync.apk'(com.google.android.syncadapters.contacts) and install it. Download this apk here: http://ift.tt/2c6VwVg
重启下手机后,打开联系人应用,选择添加,Google 选项回来了,再看看你的Google联系人是不是都回来了!
And then restart your phone,when you done,open the contacts app,your contacts would list there.
没有深究是CM13还是GApps问题,但是,个人觉得CM已经不是从前的CM了。。
In my opinion,Cyanogenmod is not which used be.
By GIGI WANG.
from WordPress http://ift.tt/2bSGrJU
via IFTTT
Wednesday, August 17, 2016
顽固的守卫-36进制转换
不得不吐槽,什么年代了,还要用哪些过时的东西。
哪些人说,稳定,人家都在用,有现成原型….
这无非是盲从,懒惰,终是无能,然而却掌握了话语权。
吐槽完毕,锅最终还是要有人背。
有个中间件软件系统,对命名,配置,参数做了严格限制。比如配置名长度必须4位,通讯队列名必须小于8位,甚至于端口号的大小也自己做了控制(65535以内还不够小?)。这个就是大名鼎鼎长度IBM帮我们省的。掌握话语权的自认为有能力驾驭好这个古董,程序猿早已对这玩意深恶痛绝:好在哪?稳定吗,高效吗?未必吧!恐怕只是不敢尝试新的,或是只是手中唯一的救命稻草?
为何还在吐槽…正题呢?呃,不好意思。
今天的槽点主要是:32GB内存为何还以为我只有64K。省确是件好事,然而要看省在哪方面。
程序中需要用到中间件队列名来匹配请求应答,而且不能重复。然后唯一可用的是流水号,是12位的。
而对列名最长8位!这点没办法了,闭源收费,你能耐我何!只有一个思路了-压缩流水:
当年数制转化是这样学的,模运算再倒序重排。效率暂不研究:
int len=0;
int i=0;
char d=' ';
int m=0;
while(num)
{
m=num%36;
if(m>9)
{
d='a'+m-10;
}
else
{
d='0'+m;
}
sprintf(des,"%s%c",des,d);
num=num/36;
}
len=strlen(des);
for(i=0;i<len/2;i++)
{
d=*(des+i);
*(des+i)= *(des+len-i-1);
*(des+len-i-1)=d;
}
from WordPress http://ift.tt/2bqPDAe
via IFTTT
Friday, May 20, 2016
TextWrangler和Vim配置GoLang 语法高亮
同步文章:http://ift.tt/1W5swPz
OSX 下配置VIM语法高亮
Vim原生不支持golang语法高亮,因此要借助插件。功能强大又好用的插件有很多,这里就只简单介绍一种。
vim-go插件,github在[这里](http://ift.tt/1rQ2r6h).
我们来使用vim-plug[ Minimalist Vim Plugin Manager]来安装,安装方法:
1.下载plug.vim .
并放置到~/.vim/autoload 目录下,点击[这里下载].
也可以直接使用curl下载。
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
http://ift.tt/WYfAhT
2. 编辑~/.vimrc 文件,添加以下内容:
call plug#begin('~/.vim/plugged')
Plug 'fatih/vim-go', { 'tag': '*' }
call plug#end()
3. 打开vim,输入命令:
:PlugInstall4. 完成,vim打开一个*.go 文件看看。
配置TextWrangler或BBEdit
BBEdit官方网站给出了配置方法,当然测试了免费的TextWrangler ,也是可行的。
官方给出了好多可用的语言供选择,地址在[这里].可供选择的包括了Erlang,Haskell,Go等等..
1. 在该页面找到Go下载地址下载,或点击这里 [直接下载]
2. 下载的文件Go.plist.zip 解压成Go.plist。
3. 将该文件放置到/Users/{USERNAME}/Library/Application Support/TextWrangler/Language Modules, 重新打开TextWrangler。一切OK了。
from WordPress http://ift.tt/1W5sreN
via IFTTT