猫言猫语

严以律己·宽以待人·自强不息·知行合一

CentOS 7 安装 Tomcat 8

| CentOS 7 安装 Tomcat 8已关闭评论

网上有很多 CentOS 7 安装 Tomcat 8 教程,都是从 Apache 官网下载二进制包后解压启动,随意性太强。没有通过系统包管理来维护是不完美的。

yum install https://harbottle.gitlab.io/harbottle-main/7/x86_64/harbottle-main-release.rpm
yum install tomcat8
systemctl enable tomcat8
systemctl restart tomcat8

部署的时候把 war 文件放到 /var/lib/tomcat8/webapps 目录下即可。

树莓派禁用 swapfile

| 树莓派禁用 swapfile已关闭评论

sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall
sudo systemctl disable dphys-swapfile

使用 rlwrap 解决 SQL*Plus 上下键问题

| 使用 rlwrap 解决 SQL*Plus 上下键问题已关闭评论

SQL*Plus 默认执行完之后,按上下左右键效果是上图的样子,非常不爽。

yum install -y epel-release
yum install -y rlwrap

之后使用 rlwrap sqlplus 来启动,效果就非常完美了

Ubuntu 18.04 安装 Docker 环境

| Ubuntu 18.04 安装 Docker 环境已关闭评论

snap install docker

配置文件位置是在

/var/snap/docker/current/config/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"log-level": "error",
"storage-driver": "aufs"
}

Ubuntu 安装 Valet

| Ubuntu 安装 Valet已关闭评论

sudo systemctl disable apache2
sudo apt-get install network-manager libnss3-tools jq xsel
composer global require cpriego/valet-linux
mkdir ~/Sites
~/.config/composer/vendor/bin/valet install
~/.config/composer/vendor/bin/valet park ~/Sites

macOS Mojave 手动安装 php-pecl-amqp

| macOS Mojave 手动安装 php-pecl-amqp已关闭评论

git clone https://github.com/pdezwart/php-amqp.git
cd php-amqp
phpize
./configure --with-librabbitmq-dir=/usr/local/Cellar/rabbitmq-c/0.9.0
make
make install
vi /usr/local/etc/php/7.3/conf.d/ext-amqp.ini
extension="amqp.so"

CentOS 7 下 NGINX Unit 快速体验

| CentOS 7 下 NGINX Unit 快速体验已关闭评论

vi /etc/yum.repos.d/unit.repo
[unit]
name=unit repo
baseurl=https://packages.nginx.org/unit/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
yum install unit
yum install unit-php
systemctl restart unit
vi demo.json
{
"listeners": {
"*:8080": {
"application": "demo"
}g
},
"applications": {
"demo": {
"type": "php",
"processes": 20,
"root": "/home/www/demo/public",
"index": "index.php"
}
}
}
mkdir -p /home/www/demo/public
vi /home/www/demo/public/index.ph
<?php
phpinfo()
curl -X PUT -d @demo.json --unix-socket /run/control.unit.sock http://localhost/config/ 

使用 PHP/Java Bridge 在 Java 容器里运行 PHP

| 使用 PHP/Java Bridge 在 Java 容器里运行 PHP已关闭评论

一、下载

从 PHP/Java Bridge 的 sourceforge 首页下载 JavaBridgeTemplate721.war 文件。

https://sourceforge.net/projects/php-java-bridge/

二、安装

以 CentOS 7 为例

yum install tomcat
yum install php-cgi
setenfore 0

三、部署

把 JavaBridgeTemplate721.war 扔到 /var/lib/tomcat/webapps 目录,重启 tomcat

systemctl restart tomcat

四、配置

编辑 index.php,修改为

<?php
phpinfo();

五、测试

打开浏览器访问:http://localhost:8080/JavaBridgeTemplate721/

软件应用

避免 Supervisord 产生孤儿进程

| 避免 Supervisord 产生孤儿进程已关闭评论

使用 Supervisord start 的进程如果开启多进程,产生了一些子进程,当 stop 父进程的时候,父进程有可能比子进程更早地退出,就会导致子进程成为孤儿进程,脱离 Supervisord 管理。

[program:x] 段配置 stopasgroup 选项和 killasgroup 选项可以避免这一情况。

stopasgroup=true
killasgroup=true

在 MySQL 8.0 中创建 utf8mb4 编码的新数据库

| 在 MySQL 8.0 中创建 utf8mb4 编码的新数据库已关闭评论

这样就可以创建一个名为 helloworld 的数据库

create database helloworld default character set utf8mb4 collate utf8mb4_unicode_ci;
mysql> create database helloworld default character set utf8mb4 collate utf8mb4_unicode_ci;
Query OK, 1 row affected (0.04 sec)