linux
centos快速安装redis部署
星期二, 六月 16th, 2015 | linux, webgame | 没有评论
每次部署环境的时候都要去安装下,写下文章记录下:
官方快速引导地址:http://redis.io/topics/quickstart
这里只是安装单实例版本,默认是6379的端口版本,预留配置文件等做多实例部署
1.安装redis最新的3.0.2版本
$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz $ tar xvzf redis-3.0.2.tar.gz $ cd redis-3.0.2 $ make |
2.复制执行文件到bin下(或者执行make install),若执行make test 请先yum install tcl
$ cp src/redis-server /usr/local/bin/ $ cp src/redis-cli /usr/local/bin/ |
java捕获kill信号来处理程序信息
星期五, 五月 29th, 2015 | JAVA-and-J2EE, linux | 一条评论
在c中常要控制对应的信号信息,在java中也可以实现简单的信号捕获;
可以作为程序的关闭时候清理数据做参考,
程序如下:
› Continue reading
升级spring4.1.6和支持java8
星期五, 四月 24th, 2015 | JAVA-and-J2EE, linux | 没有评论
系统使用的是spring-core-3.2.1.RELEASE 的版本,在使用jdk8的时候启动tomcat报错,发现无法启动 servlet 启动报错;
但是使用jdk7的版本是好的,网上google了下发现是jdk8引起的,spring3.x的系列不支持,于是有了下列升级问题,记录
1.替换spring3.x的版本到spring4.x的版本,使用到的spring包都替换(废话了)
下载地址:http://repo.spring.io/libs-release-local/org/springframework/spring/
2.系统有用到 quartz的定时任务,也需要替换 老版本是用的是quartz-all-1.6.0 需要升级到 2.x的版本下载了最新的 quartz-2.2.1.jar,quartz-jobs-2.2.1.jar
下载地址:http://quartz-scheduler.org/
3.调整 applicationContext-quartz.xml 使用的触发类
org.springframework.scheduling.quartz.CronTriggerBean 替换成 org.springframework.scheduling.quartz.CronTriggerFactoryBean
到此,升级成功,还要检测系统稳定性部分,测试下应该没有大问题后,即可更新到正式服了
http协议的手游通信安全构想
星期一, 二月 16th, 2015 | JAVA-and-J2EE, linux, 游戏开发 | 没有评论
手游中使用http协议,很容易被劫包,获取对应的api接口地址和参数信息,用于篡改数据等制作脱机外挂等.
提升安全必须要做的事情,记忆下一个初步的构想方案.
1. api+key+时间戳+随机key(按照一定算法得出),MD5后生成摘要
2. 如果抓包拿到封装后的地址,照样可以封包访问,所以需要在服务端做限制,对于同一个请求只有第一次访问是有效的
3. 为了前端的反编译安全性,封装成.so包进行调用(提升破解门槛)
对只提供手机api的手机后台服务应用也适用
Navicat 导出mysql数据库的时候出现 “Cannot proceed because system tables used by Event Scheduler
星期六, 二月 14th, 2015 | linux, php | 没有评论
用navicat 遭遇 “Cannot proceed because system tables used by Event Scheduler were found damaged at server start” .
使用的APMServ MySQL的集成环境(工具是好用但是找对应的文件是有点麻烦,我还是比较喜欢独立安装各个的支持,追求效率的话可以忽略)
在网上找了下要用什么upgrade什么exe升级下即可,没有找到对应的执行文件,在网上找到一个对应的执行sql即可的方法,如下:
进入mysql的系统库,执行sql:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | DROP TABLE IF EXISTS `event`; CREATE TABLE `event` ( `db` CHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `name` CHAR(64) NOT NULL DEFAULT '', `body` longblob NOT NULL, `definer` CHAR(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `execute_at` datetime DEFAULT NULL, `interval_value` INT(11) DEFAULT NULL, `interval_field` enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') DEFAULT NULL, `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `modified` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', `last_executed` datetime DEFAULT NULL, `starts` datetime DEFAULT NULL, `ends` datetime DEFAULT NULL, `status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED', `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP', `sql_mode` SET('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '', `comment` CHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `originator` INT(10) UNSIGNED NOT NULL, `time_zone` CHAR(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', `character_set_client` CHAR(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `collation_connection` CHAR(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `db_collation` CHAR(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `body_utf8` longblob, PRIMARY KEY (`db`,`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events'; |
Nginx 1.6.2 + PHP 5.5.20 + MySQL 5.6.10 在 CentOS64 下的编译安装
星期二, 一月 6th, 2015 | linux | 没有评论
实际安装可以最新Nginx1.10.11 和php5.5.38 mysq5.7
更新时间到 2017-03-01
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | 1.系统预先配置 yum install wget yum install pcre yum install openssl* yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make yum -y install gd gd2 gd-devel gd2-devel /usr/sbin/groupadd www /usr/sbin/useradd -g www www ulimit -SHn 65535 mkdir -p /ia/data/ cd /ia/data/ wget http://ftp.exim.llorien.org/pcre/pcre-8.32.tar.gz tar -zxvf pcre-8.32.tar.gz mkdir tgz mv pcre-8.32* tgz/ mkdir installsoft cd installsoft/ wget http://nginx.org/download/nginx-1.6.2.tar.gz tar xzvf nginx-1.6.2.tar.gz cd nginx-1.6.2 ./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/ia/data/tgz/pcre-8.32 --with-http_realip_module --with-http_image_filter_module make make install /usr/local/webserver/nginx/sbin/nginx -V 2、安装 MySQL: wget http://downloads.mysql.com/archives/mysql-5.6/mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz tar zxvf mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz mv mysql-5.6.10-linux-glibc2.5-x86_64 /usr/local/webserver/mysql /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql mkdir -p /Data/data/mysql/data yum install libaio /usr/local/webserver/mysql/scripts/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/ia/data/mysql/data --user=mysql ##mysql 5.7更新了初始化方式会有默认密码生成 使用 --initialize-insecure 会不生成root密码否则注意看密码 /usr/local/webserver/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/webserver/mysql --datadir=/ia/data/mysql/data sed -i "s#/usr/local/mysql#/usr/local/webserver/mysql#g" /usr/local/webserver/mysql/bin/mysqld_safe GRANT ALL PRIVILEGES ON *.* TO 'ia_admin'@'localhost' IDENTIFIED BY '12345678'; GRANT ALL PRIVILEGES ON *.* TO 'ia_admin'@'127.0.0.1' IDENTIFIED BY '12345678'; GRANT ALL PRIVILEGES ON *.* TO 'ia_admin'@'%' IDENTIFIED BY '12345678'; ##忘记密码重置的配置 my.cnf 添加 #skip-grant-tables #skip-networking #后续mysql5.7登录mysql执行 ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678'; update user set authentication_string=PASSWORD("12345678") where User='root'; ##修改成功后 可以启用GRANT去新增用户,会让强制改下root密码再执行 3、安装PHP依赖库 mkdir -p /usr/local/webserver/libs/ wget http://www.ijg.org/files/jpegsrc.v9.tar.gz tar zxvf jpegsrc.v9.tar.gz cd jpeg-9/ ./configure --prefix=/usr/local/webserver/libs --enable-shared --enable-static --prefix=/usr/local/webserver/libs make make install cd ../ wget http://prdownloads.sourceforge.net/libpng/libpng-1.6.2.tar.gz tar zxvf libpng-1.6.2.tar.gz cd libpng-1.6.2/ ./configure --prefix=/usr/local/webserver/libs make make install cd ../ wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.gz tar zxvf freetype-2.4.12.tar.gz cd freetype-2.4.12/ ./configure --prefix=/usr/local/webserver/libs make make install cd ../ wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz" wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz" wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz" tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure --prefix=/usr/local/webserver/libs make make install cd libltdl/ ./configure --prefix=/usr/local/webserver/libs --enable-ltdl-install make make install cd ../../ tar zxvf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9/ ./configure --prefix=/usr/local/webserver/libs make make install cd ../ vi /etc/ld.so.conf 添加: /usr/local/webserver/libs/lib 然后: ldconfig tar zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8/ export LDFLAGS="-L/usr/local/webserver/libs/lib -L/usr/lib" export CFLAGS="-I/usr/local/webserver/libs/include -I/usr/include" touch malloc.h ./configure --prefix=/usr/local/webserver/libs --with-libmcrypt-prefix=/usr/local/webserver/libs make make install cd ../ 4、编译安装PHP 5.5 wget http://cl1.php.net/get/php-5.5.20.tar.gz/from/this/mirror tar zxvf php-5.5.20.tar.gz cd php-5.5.20/ export LIBS="-lm -ltermcap -lresolv" export DYLD_LIBRARY_PATH="/usr/local/webserver/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64" export LD_LIBRARY_PATH="/usr/local/webserver/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64" ln -s /usr/local/webserver/mysql/lib/libmysqlclient.so.20.3.4 /usr/local/webserver/mysql/lib/libmysqlclient_r.so ./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir=/usr/local/webserver/libs --with-jpeg-dir=/usr/local/webserver/libs --with-png-dir=/usr/local/webserver/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/usr/local/webserver/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts make make install cp php.ini-development /usr/local/webserver/php/etc/php.ini ##生产环境推荐 cp php.ini-production /usr/local/webserver/php/etc/php.ini cd ../ ln -s /usr/local/webserver/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 如果是5.7的mysql做软链接 ln -s /usr/local/webserver/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20 mv /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf ##一定记得修改 php-fpm.conf 的启动组为www(把对应的nobody修改下,否则php文件无法接收) 5、编译安装PHP扩展 wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz tar zxvf autoconf-latest.tar.gz cd autoconf-2.69/ ./configure --prefix=/usr/local/webserver/libs make make install cd ../ wget http://pecl.php.net/get/memcache-2.2.7.tgz tar zxvf memcache-2.2.7.tgz cd memcache-2.2.7/ export PHP_AUTOCONF="/usr/local/webserver/libs/bin/autoconf" export PHP_AUTOHEADER="/usr/local/webserver/libs/bin/autoheader" /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config make make install cd ../ 打开 /usr/local/webserver/php/etc/php.ini 查找 ; extension_dir = "ext" 在其后增加一行: extension = "memcache.so" |
消息队列参数调整和查看
星期二, 十一月 11th, 2014 | linux | 没有评论
查看消息队列信息部分:
ipcs -l
调整队列和共享内存参数部分: vi /etc/sysctl.conf
查看当前 消息队列标识符打开的数量: ipcs|awk '/msqid/{a=NR}END{print NR-a}' |
相关操作知识:
ipcs可用来显示当前Linux系统中的共享内存段、信号量集、消息队列等的使用情况。
命令示例:
ipcs -a或ipc 显示当前系统中共享内存段、信号量集、消息队列的使用情况;
ipcs -m 显示共享内存段的使用情况;
ipcs -s 显示信号量集的使用情况;
ipcs -q 显示消息队列的使用情况;
ipcrm可用来删除对应的共享内存段、信号量、消息队列;
命令示例:
ipcrm -s semid 删除对应的信号量集
ipcrm -m shmid 删除对应的共享内存段
ipcrm -q msqid 删除对应的消息队列
ipcrm本身只能实现单个资源的删除,利用以下命令可实现批量删除:(root 替换为对应的系统用户用户名)
1.ipcs -s|grep root|cut -d" " -f2|xargs -n1 ipcrm -s 2.ipcs -s|awk '/root/{print $2}'|xargs -n1 ipcrm -s 3.ipcs -s|awk '/root/{system("ipcrm -s "$2)}' 4.for i in echo `ipcs|grep root|cut -d" " -f2`; do ipcrm -s $i; done |
Linux统计代码行数及统计文件数
星期五, 十月 17th, 2014 | linux | 没有评论
直接上代码吧:
1.统计当前文件夹下文件数量
ls -l|grep "^-"|wc -l |
2.统计文件行数(单个文件):
wc -l name.c
3.统计目录所有文件行数(全部目录):
find . -name *.c| xargs wc -l
4.统计目录并按行数排序(按行大小排序):
find . -name *.c| xargs wc -l | sort -n
5.统计目录并按行数排序(按行文件名排序):
find . -name *.c| xargs wc -l | sort -k2
wordpress防止xmlprc.php大量消耗服务器资源
星期一, 八月 25th, 2014 | linux, wordpress | 没有评论
最近发现访问自己的blog网站的时候,变的很慢,有时候居然无法响应;
到服务器跟踪了下访问日志,有大量的提交到xmlrpc.php的操作,ip地址也是不段变化中.
搜索了下看原理可以利用此漏洞文件进行http的DDOS攻击,还有可能被破解用户口令密码.
也没有什么高招 ,只是 删除文件或者拒绝访问即可(至少不再消耗php解析资源)
解决办法:
› Continue reading
CentOS Linux解决Device eth0 does not seem to be present
星期四, 八月 21st, 2014 | JAVA-and-J2EE, linux | 没有评论
直接复制了Oracle VM VirtualBox的镜像文件vdi 可以直接创建新的系统镜像真是方便,不过遇到了
Device eth0 does not seem to be present 的问题,在网上找到遇到同样问题的解决方法,
很顺利的解决,记录之:
ifconfig…没有看到eth0.。然后重启网卡又报下面错误。
故障现象:
service network restart
Shutting down loopback insterface: [ OK ]
Bringing up loopback insterface: [ OK ]
Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]
CentOS Linux解决Device eth0 does not seem to be present
解决办法:
› Continue reading
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)