linux

使用shell脚本批量发送curl的POST数据请求

星期五, 十月 18th, 2019 | JAVA-and-J2EE, linux | 没有评论

里面写了sleep睡眠,可以移除

写定循环传递参数等,用于自动处理数据比较方便,记录如下,可以根据自己的情况进行调整.

shell脚本如下

#!/bin/bash
function curlRequest()
{
	echo ">>>>>>>>>>>>>>"$1
    info=`curl -s -H "Accept: application/json" -H "Content-type: application/json" -X POST -d "{\"id\":$1,\"processState\":3}" "https://www.pomelolee.com/info" `
 
    echo "<<<<<<<<<<<<<<"$info
    #info=`curl -s -m 10 --connect-timeout 10 -I $1`
    #code=`echo $info|grep "HTTP"|awk '{print $2}'`
    #if [ "$code" == "200" ];then
    #    echo "request succeed,ret code is $code"
    #else
    #    echo "request fail,ret code is $code"
    #fi
}
 
ids=(29 100 13 8 91 44)
for id in ${ids[@]}
do
  curlRequest $id
  echo $id
  sleep 2s
done

Tags:

centos7下的php-fpm的优化

星期四, 十月 3rd, 2019 | linux, php | 没有评论

云主机只有1C1G的内存,既要运行wordpress还要运行一个java程序及mysql,内存实在吃紧,运行1天发现mysql内存不足被杀掉,随优化之。

1.优化mysql参数

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M

详情可以参考 https://www.pomelolee.com/1304.html

2.php-fpm优化,减少php-fpm的数量

配置文件地址:/etc/opt/remi/php70/php-fpm.conf

实际修改配置文件:/etc/opt/remi/php70/php-fpm.d/www.conf

systemctl stop php70-php-fpm.service

pm = dynamic
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 5

systemctl restart php70-php-fpm.service

Tags: , ,

让PHP7兼容老版本的php5.5.x或者5.6下的mysql_connect的处理代码

星期一, 九月 9th, 2019 | linux, php | 没有评论

1.昨天折腾了下服务器,把系统从centos6.5更新到7.6,也把对应的php版本升级到了php7.0.x系列

2.好多年没有再怎么写php代码了,以前写的也是在php5.5.x的版本写的,升级后发现程序无法使用,郁闷ing

3.跟踪下 /var/opt/remi/php70/log/php-fpm 下的 www-error.log发现是 php7已经不支持mysql_connect

4.网上找了下兼容的代码新增了 mysql_num_rows的函数的处理,我以前的老代码又可以欢快的跑起来了,记录下,也方便需要的朋友

$dbhost = DATA_HOST;
$dbport = 3306;
$dbuser = DATA_USERNAME;
$dbpass = DATA_PASSWORD;
$dbname = DATA_NAME;
if(!function_exists('mysql_connect')){
    function mysql_connect($dbhost, $dbuser, $dbpass){
        global $dbport;
        global $dbname;
        global $mysqli;
        $mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);
        return $mysqli;
        }
    function mysql_select_db($dbname){
        global $mysqli;
        return mysqli_select_db($mysqli,$dbname);
        }
    function mysql_fetch_array($result){
        return mysqli_fetch_array($result);
        }
    function mysql_fetch_assoc($result){
        return mysqli_fetch_assoc($result);
        }
    function mysql_fetch_row($result){
        return mysqli_fetch_row($result);
        }
    function mysql_query($query){
        global $mysqli;
        return mysqli_query($mysqli,$query);
        }
    function mysql_escape_string($data){
        global $mysqli;
        return mysqli_real_escape_string($mysqli, $data);
        }
    function mysql_real_escape_string($data){
        return mysql_real_escape_string($data);
        }
    function mysql_close(){
        global $mysqli;
        return mysqli_close($mysqli);
        }
    function mysql_num_rows($result){
        return mysqli_num_rows($result);
    }
}

Tags: , ,

解决:mysql5.7 timestamp默认值‘0000-00-00 00:00:00’报错及Ubuntu Server下启动/停止/重启MySQL

星期六, 七月 27th, 2019 | JAVA-and-J2EE, linux | 没有评论

解决:mysql5.7 timestamp默认值‘0000-00-00 00:00:00’报错及Ubuntu Server下启动/停止/重启MySQL

1.Ubuntu Server下启动/停止/重启MySQL

启动mysql:
方式一:sudo /etc/init.d/mysql start 
方式二:sudo service mysql start
 
停止mysql:
方式一:sudo /etc/init.d/mysql stop 
方式二:sudo service mysql stop
 
重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo service mysql restart

2. ‘0000-00-00 00:00:00’报错的解决

使用 SELECT @@sql_mode; 查询当前的sql模式

更改模式版本 在my.cnf[mysqld]下添加 重启服务即可

sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Tags:

docker 下mysql时区8个小时的解决办法及JDBC连接数据库mysql serverTimezone useSSL时差

星期四, 六月 20th, 2019 | JAVA-and-J2EE, linux | 没有评论

问题起因:

1.应用启动初始化数据看了下插入的数据时间和本地时间不一致 差了8个小时

解决方法:
网上检索之发现最终引起的原因是新版JDBC驱动指定的serverTimezone的原因

1.修正docker下mysql时区的问题

	show variables like '%time_zone%';
 
	set global time_zone='Asia/Shanghai';
 
	set  time_zone='Asia/Shanghai';
 
	flush privileges;

实际上这么操作后,如果无法生效的话,还是要修改配置文件并重新启动mysql使其生效

docker下的路径在 /etc/mysql/conf.d/my.cnf

	修改my.cnf
 
	default-time-zone ='Asia/Shanghai'

查看 select now(); 等 如下图

2.因使用的新版的驱动需要调整的部分

› Continue reading

Tags: ,

centos7卸载自带git升级到最新版git记录

星期三, 五月 15th, 2019 | linux | 没有评论

git版本升级到高版本(git-2.21.0)。下面说下git升级的操作记录

[root@IA ~]# git --version
git version 1.8.3

0)安装依赖软件

[root@IA ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
 
[root@IA ~]# yum install  gcc perl-ExtUtils-MakeMaker

1)卸载系统自带的底版本git(1.8.3)

[root@IA ~]# git --version
git version 1.8.3
 
[root@IA ~]# yum remove git

2)编译安装最新的git版本

[root@IA ~]# cd /usr/local/src/
 
[root@IA src]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.xz
 
[root@IA src]# tar -vxf git-2.21.0.tar.xz
 
[root@IA src]# cd git-2.21.0
 
[root@IA git-2.21.0]# make prefix=/usr/local/git all
 
[root@IA git-2.21.0]# make prefix=/usr/local/git install
 
[root@IA git-2.21.0]# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
 
[root@IA git-2.21.0]# source /etc/profile
 
[root@IA ~]# git --version
git version 2.21.0

如果是非root用户使用git,则需要配置下该用户下的环境变量

[app@IA ~]$ echo "export PATH=$PATH:/usr/local/git/bin" >> ~/.bashrc
 
[app@IA ~]$ source ~/.bashrc
[app@IA ~]$ git --version
git version 2.21.0

Tags:

redis参数的动态调整及运行情况的命令查询

星期二, 四月 16th, 2019 | linux | 没有评论

起因redis占用过多内存造成 另一个tomcat应用被杀,因此限制其使用内存量.

动态设置redis内容为2G

config set maxmemory 2147483648

动态设置成10G的命令

config set maxmemory 10737418240

对应的查看内存设置命令

config get maxmemory

可以使用下面命令查看哪些可以动态设置的参数命令

CONFIG GET *

查看redis的运行信息使用info命令

info

查看指定的info信息比如内存情况使用命令

info memory

Tags:

U盘安装ubuntu-16.04.2-server-amd64遇到问题的解决记录

星期四, 三月 14th, 2019 | computer, linux | 没有评论

想在机器上安装这个还真是麻烦,还待续,网络及无线网卡部分还没有搞定…

1.U盘安装ubuntu-16.04.2-server-amd64

1.制作篇
1.1 UltraISO 打开iso文件,启动–》写入硬盘映像

1.2 复制 对应的iso 文件到u盘里

2.安装篇
2.1 F2(或者其他) 进入boot,设定BIOS中boot 从刚制作的U盘启动

2.1 安装会出现 CD-ROM 盘失败

解决方法:
进入对应的shell:

1、Alt+F2进入命令行(或者有shell选项进入)
2、ls /dev/sd* 查看对应的盘符,拔掉再插入即可看到新加的U盘部分 ,我这边是/dev/sdb4
3、挂载U盘到/mnt目录
mount /dev/sdb4 /mnt
4、挂载iso文件到/cdrom目录

	mount -o loop /mnt/ubuntu-16.04.2-server-amd64.iso /cdrom

如果上面报mounting /dev/loop0 invalid argument 请使用下面的这个命令

mount -o loop -t iso9660  /mnt/ubuntu-16.04.2-server-amd64.iso /cdrom

5、查看/cdrom目录,确定是否挂载成功
6、Alt+F1回到安装界面,继续安装
7、之后又遇到类似未挂载的问题,再次执行上诉步骤挂载iso文件到/cdrom即可,要先umount /dev/sdb4

umount /dev/sdb4
mount /dev/sdb4 /mnt
mount -o loop /mnt/ubuntu-16.04.2-server-amd64.iso /cdrom
或者
mount -o loop -t iso9660  /mnt/ubuntu-16.04.2-server-amd64.iso /cdrom

Tags: ,

ubuntu安装后的开启ssh服务及root访问

星期日, 三月 10th, 2019 | linux | 没有评论

ubuntu 安装后的常用处理才能正常使用

1.ubuntu 开启ssh服务

sudo apt-get install openssh-server

2.为ssh服务打开使用root用户登录的权限

#sudo vi /etc/ssh/sshd_config

开启:PermitRootLogin yes

3.重启一下ssh服务

#sudo service ssh restart

4.启用root用户 设置root用户的新密码

#sudo  passwd  root

完成后既可以用root用户进行远程连接

Tags:

git初始配置存储帐号等

星期三, 二月 27th, 2019 | linux | 没有评论

信息保存在 当前帐号的 ~/.gitconfig 下和 ~/.git-credentials

1.配置提交的用户名及email地址

$ git config --global user.name "Leeyz"
$ git config --global user.email "sara@pomelolee.com"

2.配置自动保存帐号信息省的每次 pull 都输入密码

$ git config --global credential.helper store

3. 移除帐号信息可以

$ rm ~/.gitconfig
$ rm ~/.git-credentials

更多使用手册参考:https://git-scm.com/book/zh/v2

Tags:

Search

文章分类

Meta