JAVA随手记

切换root账户

sudo -i

location ~* \.(txt|log)$ {?

deny all;

}

将/home/eproot/smart/community-web/文件下所有文件复制到/opt/nginx-1.20.1/html/community-web/文件下,会在/opt/nginx-1.20.1/html/下创建 community-web 文件

cp -r /home/eproot/smart/community-web/. /opt/nginx-1.20.1/html/community-web/

cp -r /home/eproot/dist/. /opt/nginx-1.20.1/html/dist/

将main1.c重命名为main.c

rename main1.c main.c main1.c

删除test文件夹

rm -rf test1

解压文件

tar -zxvf 压缩文件名.tar.gz

1.查看防火墙状态:active (running) 即是开启状态

systemctl status firewalld

2.查看已开发端口命令:firewall-cmd --list-all

3.新增防火墙开放端口:

firewall-cmd --zone=public --add-port=9999/tcp --permanent

4.开放端口后需要重新加载防火墙:

firewall-cmd --reload

5.firewalld的基本使用命令:

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld

开机禁用 : systemctl disable firewalld

开机启用 : systemctl enable firewalld

6.配置firewalld-cmd命令

查看版本: firewall-cmd --version

查看帮助: firewall-cmd --help

显示状态: firewall-cmd --state

查看所有打开的端口: firewall-cmd --zone=public --list-ports

更新防火墙规则: firewall-cmd --reload

查看区域信息: firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

7.systemctl相关命令

启动一个服务:systemctl start firewalld.service

关闭一个服务:systemctl stop firewalld.service

重启一个服务:systemctl restart firewalld.service

显示一个服务的状态:systemctl status firewalld.service

在开机时启用一个服务:systemctl enable firewalld.service

在开机时禁用一个服务:systemctl disable firewalld.service

查看服务是否开机启动:systemctl is-enabled firewalld.service

查看已启动的服务列表:systemctl list-unit-files|grep enabled

查看启动失败的服务列表:systemctl --failed

限制ip访问

firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=221.216.117.177 reject"

firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=221.216.116.152 reject"

Linux编辑文件

1.编辑

vi 文件名

2.切换模式

按i 切换编辑模式

3.保存

shift + esc + :

:wq 保存

1、将一个文件夹下的所有内容复制到另一个文件夹下

cp -r /home/packageA/* /home/cp/packageB/

cp -r /home/packageA/. /home/cp/packageB/

这两种方法效果是一样的。

2、将一个文件夹复制到另一个文件夹下

cp -r /home/packageA /home/packageB

运行命令之后packageB文件夹下就有packageA文件夹了。

3、删除一个文件夹及其下面的所有文件

rm -r /home/packageA

4、移动一个文件夹到另一个文件夹下面

mv /home/packageA /home/packageB/

mv /home/packageA /home/packageB

这两种方法效果是一样的。

如果是移动文件夹下的所有文件的话就可以文件夹后面跟上 /*

mv /home/packageA/* /home/packageB/

安全删除文件(删除日志,删除后日志会重新写入,不会造成删除后仍占内存)

echo " " >/root/nohup.out

echo " " >/root/backend/logs/consumer.out

java -jar /home/app/backend/blade-api.jar

磁盘空间满了,检查是否有已删除未释放的文件

先获得已经被删除的可是仍然被应?程序占?的?件列表。操作如下:

lsof |grep deleted

执行

echo " " >xxxx.xx

或杀死进程

查看磁盘信息 df -h

查看磁盘空间: df -hl

查看哪个目录占用空间大: du -sh * (当前所在目录下)

查看文件夹下空间占用情况: du -h --max-depth=1 /var/lib/docker

cat /dev/null > /var/lib/docker/containers/c01def6a4849c33df1da8322f479d1982c5c6bcb28b75ebf79438397863f7dd6/c01def6a4849c33df1da8322f479d1982c5c6bcb28b75ebf79438397863f7dd6-json.log

cat /dev/null > /var/lib/docker/containers/c01def6a4849c33df1da8322f479d1982c5c6bcb28b75ebf79438397863f7dd6/c01def6a4849c33df1da8322f479d1982c5c6bcb28b75ebf79438397863f7dd6-json.log

cat /dev/null > /home/docker_reel/containers/b00fec1bca08d23d20a3f5d672eca0047b59752054822a689828ba28e66bce26/b00fec1bca08d23d20a3f5d672eca0047b59752054822a689828ba28e66bce26-json.log

echo " " >/home/docker_reel/containers/b00fec1bca08d23d20a3f5d672eca0047b59752054822a689828ba28e66bce26/b00fec1bca08d23d20a3f5d672eca0047b59752054822a689828ba28e66bce26-json.log

文件设置权限

chmod 777 ./p.sh

chmod 777 /root/redis/redis.conf

上传文件:

安装rz : yum -y install lrzs

上传:rz 下载:sz

显示java进程:

ps -ef|grep java

显示nginx进程:

ps -ef | grep nginx

确定进程所在的目录:

ll /proc/4874

查看某个端口进程:

netstat -anp |grep 8088

查看被占用的端口的进程,netstat -tunpl |grep 端口号

docker cp /sql/hs_city_fire2.sql b00fec1bca08:/

进入mysql容器 docker exec -it mysql bash

输入密码 mysql -u root -p密码;

mysql -u root -phyxl@wd.666888!

create database hs_city_fire;

use hs_city_fire;

source /hs_city_fire3.sql ;

docker mysql 导出数据库数据(结构和数据) 导出的sql 要去掉首位的注释,否则无法导入!!!!!

docker exec -it mysql mysqldump -u用户名 -p密码 数据库名 > /sql/bladex.sql

docker exec -it mysql mysqldump -uroot -phyxl@wd.666888! bladex > /sql/bladex.sql

docker exec -it mysql mysqldump -uroot -phyxl@wd.666888! city_fire_base_info > /sql/city_fire_base_info.sql

docker exec -it mysql mysqldump -uroot -phyxl@wd.666888! city_fire_command > /sql/city_fire_command.sql

docker exec -it mysql mysqldump -uroot -phyxl@wd.666888! city_fire_education_system > /sql/city_fire_education_system.sql

docker exec -it mysql mysqldump -uroot -phyxl@wd.666888! city_fire_patrol_system > /sql/city_fire_patrol_system.sql

docker exec -it mysql mysqldump -uroot -phyxl@wd.666888! device_operation_system > /sql/device_operation_system.sql

docker exec -it mysql mysqldump -uroot -phyxl@wd.666888! geo_info_system > /sql/geo_info_system.sql

导入后出现锁表的情况,执行语句: UNLOCK TABLES;

mysqldump -u root -p bladex > bladex.sql

exit 退出容器

quit 退出mysql

https nginx配置http websocket

location /webSocket {

proxy_pass http://127.0.0.1:9002/webSocket;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection “upgrade”;

}

强制删除:

rm -rf /var/log/httpd/access

将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

指定springboot上传临时文件路径?

-Djava.io.tmpdir= ;

java -XX:MaxMetaspaceSize=512m -Xmx1024m -Djava.io.tmpdir=E:/server1/temp -jar XXX-1.0.201127.jar

启动jar

nohup java -Dfile.encoding=utf-8 -jar /app/backend/visual/visual.jar &

启动jar 不产生日志

nohup java -Dfile.encoding=utf-8 -jar /home/app/backend/blade-api.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /home/blade-api.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /home/app/backend/device/city-fire-device.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /app/backend/core/blade-auth.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /home/app/backend/base/city-fire-base-information.jar >/dev/null 2>&1 &

文旅合肥

nohup java -Dfile.encoding=utf-8 -jar /root/backend/config-server-7.1.5.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /root/backend/consumer-7.1.5.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /root/backend/base-api-7.1.5.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /root/backend/seller-api-7.1.5.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /root/backend/manager-api-7.1.5.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /root/backend/buyer-api-7.1.5.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /root/backend/xxl-job-7.1.5.jar >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /root/police-api.jar >/dev/null 2>&1 &

指定临时文件

nohup java -Dfile.encoding=utf-8 -jar /app/backend/visual/visual.jar -java.tmp.dir=/app/backend/visual >/dev/null 2>&1 &

nohup java -Dfile.encoding=utf-8 -jar /home/app/backend/blade-api.jar -java.tmp.dir=/home/app/backend >/dev/null 2>&1 &

docker ps

docker ps -a

docker images

docker restart xxxx

启动 elasticsearch

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "cluster.name=elasticsearch" elasticsearch:6.7.0

ocker run --name some-cassandra --network some-network -d cassandra:tag

docker run -d --name cassandra -p 9042:9042 cassandra

docker run --restart always -p 8848:8848 --name nacos -e "MODE=standalone" -e "TZ=Asia/Shanghai" -v /docker_data/nacos/standalone-logs:/home/dockerdata/nacos/logs -v /docker_data/nacos/init.d/custom.properties:/home/dockerdata/nacos/init.d/custom.properties -d nacos/nacos-server:1.1.4

docker pull wurstmeister/zookeeper

docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

docker pull wurstmeister/kafka

docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.10.3:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.3:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.0.160:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.160:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

不指定IP,直接制定zookeeper容器名称

docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=localhost --env KAFKA_ADVERTISED_PORT=9092 wurstmeister/kafka

mysql Host is not allowed to connect to this MySQL server解决方法

今天在Linux上面装完MySQL,却发现在本地登录可以,但是远程登录却报错Host is not allowed to connect to this MySQL server,找了半天试了网上的一些方法都没有解决,最终在一篇文章里找到了解决方法,特意记录一下。

先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:

在装有MySQL的机器上登录MySQL mysql -u root -p密码;

执行use mysql;

执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。

执行FLUSH PRIVILEGES;

经过上面4步,就可以解决这个问题了。

注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因

#清空redis缓存

1.访问redis根目录 cd /usr/local/redis-2.8.19

2.登录redis:redis-cli -h 127.0.0.1 -p 6379

3.查看所有key值:keys *

4.删除指定索引的值:del key

5.清空整个 Redis 服务器的数据:flushall

  1. 清空当前库中的所有 key:flushdb

linux 解压缩命令

tar:

解包:tar zxvf filename.tar

打包:tar czvf filename.tar dirname

gz命令:

解压1:gunzip filename.gz

解压2:gzip -d filename.gz

压缩:gzip filename

.tar.gz 和 .tgz

解压:tar zxvf filename.tar.gz

压缩:tar zcvf filename.tar.gz dirname

压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....

bz2命令:

解压1:bzip2 -d filename.bz2

解压2:bunzip2 filename.bz2

压缩:bzip2 -z filename

.tar.bz2

解压:tar jxvf filename.tar.bz2

压缩:tar jcvf filename.tar.bz2 dirname

bz命令:

解压1:bzip2 -d filename.bz

解压2:bunzip2 filename.bz

.tar.bz

解压:tar jxvf filename.tar.bz

z命令:

解压:uncompress filename.z

压缩:compress filename

.tar.z

解压:tar zxvf filename.tar.z

压缩:tar zcvf filename.tar.z dirname

zip命令:

解压:unzip filename.zip

压缩:zip filename.zip dirname

http://39.100.135.240:8866/userfiles/1/%E7%A8%8B%E5%BA%8F%E9%99%84%E4%BB%B6//contractinformation/contractInformation/2020/12/0b614b1bff53f3facefbabf87f06af9d.jpg

安装redis:

CENTOS7下安装REDIS

docker run -d --privileged=true -p 6379:6379 -v /var/docker/redis/conf:/etc/redis -v /var/docker/redis/data:/data --name redis7 redis:latest --appendonly yes

一、安装redis

第一步:下载redis安装包

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

第二步:解压压缩包

tar -zxvf redis-4.0.6.tar.gz

第三步:yum安装gcc依赖

yum install gcc

[root@iZwz991stxdwj560bfmadtZ local]# yum install gcc

遇到选择,输入y即可

第四步:跳转到redis解压目录下

cd redis-4.0.6

[root@iZwz991stxdwj560bfmadtZ local]# cd redis-4.0.6

第五步:编译安装

make MALLOC=libc  

[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# make MALLOC=libc

将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录

cd src && make install

二、启动redis的三种方式

先切换到redis src目录下

[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# cd src

1、直接启动redis

./redis-server

复制代码

[root@iZwz991stxdwj560bfmadtZ src]# ./redis-server

18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started

18685:C 13 Dec 12:56:12.507 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf

_._

_.-``__ ''-._

_.-`` `. `_. ''-._ Redis 4.0.6 (00000000/0) 64 bit

.-`` .-```. ```\/ _.,_ ''-._

( ' , .-` | `, ) Running in standalone mode

|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379

| `-._ `._ / _.-' | PID: 18685

`-._ `-._ `-./ _.-' _.-'

|`-._`-._ `-.__.-' _.-'_.-'|

| `-._`-._ _.-'_.-' | http://redis.io

`-._ `-._`-.__.-'_.-' _.-'

|`-._`-._ `-.__.-' _.-'_.-'|

| `-._`-._ _.-'_.-' |

`-._ `-._`-.__.-'_.-' _.-'

`-._ `-.__.-' _.-'

`-._ _.-'

`-.__.-'

18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

18685:M 13 Dec 12:56:12.508 # Server initialized

18685:M 13 Dec 12:56:12.508 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

18685:M 13 Dec 12:56:12.508 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

18685:M 13 Dec 12:56:12.508 * Ready to accept connections  

如上图:redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。

按 ctrl + c可以关闭窗口。

  

2、以后台进程方式启动redis

第一步:修改redis.conf文件

daemonize no

修改为

daemonize yes

 

第二步:指定redis.conf文件启动

1

./redis-server /usr/local/redis-4.0.6/redis.conf

[root@iZwz991stxdwj560bfmadtZ src]# ./redis-server /usr/local/redis-4.0.6/redis.conf

18713:C 13 Dec 13:07:41.109 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

18713:C 13 Dec 13:07:41.109 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18713, just started

18713:C 13 Dec 13:07:41.109 # Configuration loaded

第三步:关闭redis进程

首先使用ps -aux | grep redis查看redis进程

[root@iZwz991stxdwj560bfmadtZ src]# ps -aux | grep redis

root 18714 0.0 0.1 141752 2008 ? Ssl 13:07 0:00 ./redis-server 127.0.0.1:6379

root 18719 0.0 0.0 112644 968 pts/0 R+ 13:09 0:00 grep --color=auto redis

使用kill命令杀死进程

[root@iZwz991stxdwj560bfmadtZ src]# kill 18714

 

3、设置redis开机自启动

1、在/etc目录下新建redis目录

mkdir redis

[root@iZwz991stxdwj560bfmadtZ etc]# mkdir redis

2、将/usr/local/redis-4.0.6/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf  

[root@iZwz991stxdwj560bfmadtZ redis]# cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf

3、将redis的启动脚本复制一份放到/etc/init.d目录下

[root@iZwz991stxdwj560bfmadtZ init.d]# cp /mnt/docker_data/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd

4、设置redis开机自启动

先切换到/etc/init.d目录下

然后执行自启命令

[root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on

service redisd does not support chkconfig 

看结果是redisd不支持chkconfig

解决方法:

使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出

# chkconfig: 2345 90 10

# description: Redis is a persistent key-value database

注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

再次执行开机自启命令,成功

[root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on

 

现在可以直接已服务的形式启动和关闭redis了

启动:

service redisd start 

[root@izwz991stxdwj560bfmadtz ~]# service redisd start

Starting Redis server...

2288:C 13 Dec 13:51:38.087 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

2288:C 13 Dec 13:51:38.087 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=2288, just started

2288:C 13 Dec 13:51:38.087 # Configuration loaded

关闭:

方法1:service redisd stop

[root@izwz991stxdwj560bfmadtz ~]# service redisd stop

Stopping ...

Redis stopped

centOS安装jdk1.8

yum安装:

1、搜索jdk安装包

# yum search java|grep jdk

2、下载jdk1.8,下载之后默认的目录为: /usr/lib/jvm/

# yum install java-1.8.0-openjdk

3、配置环境变量及验证安装

# vi /etc/profile

将如下配置添加至文件中,然后保存退出。

#java

export JAVA_HOME=/usr/java/jdk1.8.0_181

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

验证安装

java -version

docker nginx镜像 挂在外部配置文件以及静态目录

nginx默认启动80端口,映射的静态目录是 /usr/share/nginx/html

如果要为一个nginx增加配置,比如使用 8080 端口监听 /usr/share/nginx/html/fizz 目录

这就要使用容器卷,进行目录映射了

在/home/fizz/nginx/config 目录下创建 fizz.conf 注意结尾必须是 .conf

因为在nginx的镜像里 文件 /ect/nginx/nginx.conf 有这样一句话

include /etc/nginx/conf.d/*.conf;

所以nginx的配置文件一定要 .conf 结尾

在fizz.conf 中写入

server {

listen 8080;

location / {

root /usr/share/nginx/html/fizz;

index index.html index.htm;

}

}

这里的 /usr/share/nginx/html/fizz 目录指的是容器内的目录

默认容器是没有fizz这个目录的,直到html目录,不过我们可以通过本机卷映射将主机的目录

在主机 /home/server/dist 本级目录为要代理的文件夹

docker run --name nginx8088 -p 8080:8080 -v /etc/nginx/conf.d:/etc/nginx/conf.d -v /home/server/dist:/usr/share/nginx/html/dist -d nginx

Nginx安装

Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。

一. gcc 安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

二. PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

三. zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

四. OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

官网下载

1.直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

2.使用wget命令下载(推荐)。确保系统已经安装了wget,如果没有安装,执行 yum install wget 安装。

wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

我下载的是1.12.0版本,这个是目前的稳定版。

解压

依然是直接命令:

tar -zxvf nginx-1.12.0.tar.gz

cd nginx-1.12.0

配置

其实在 nginx-1.12.0 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。

1.使用默认配置

./configure

2.自定义配置(不推荐)

./configure \

--prefix=/usr/local/nginx \

--conf-path=/usr/local/nginx/conf/nginx.conf \

--pid-path=/usr/local/nginx/conf/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

注:将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

编译安装

make

make install

查找安装路径:

whereis nginx

nginx-whereis.png

启动、停止nginx

cd /usr/local/nginx/sbin/

./nginx

./nginx -s stop

./nginx -s quit

./nginx -s reload

启动时报80端口被占用:

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

解决办法:1、安装net-tool 包:yum install net-tools

./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。

./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

查询nginx进程:

ps aux|grep nginx

重启 nginx

1.先停止再启动(推荐):

对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

./nginx -s quit

./nginx

2.重新加载配置文件:

当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:

./nginx -s reload

备注:

1.

在Ubuntu18.04上安装Ngnix,在编译步骤出现如下错误:

cc1: all warnings being treated as errors

objs/Makefile:460: recipe for target 'objs/src/core/ngx_murmurhash.o' failed

make[1]: *** [objs/src/core/ngx_murmurhash.o] Error 1

make[1]: Leaving directory '/home/wzj/tools/nginx/nginx-1.11.3'

Makefile:8: recipe for target 'build' failed

make: *** [build] Error 2

解决办法

找到对应的objs/Maakefile文件,将gcc参数中的-Werror去掉。

2.

make[1]: *** [objs/Makefile:788:objs/src/os/unix/ngx_user.o] 错误的解决方法:

找到对应文件(objs/src/os/unix/ngx_user.o 或者 /src/os/unix/ngx_user.o 或者ngx_user.c 文件),将一下行注释: cd.current_salt[0] = ~salt[0];

CentOS7 docker安装mysql

查找MySQL镜像:

docker search mysql

在这里插入图片描述

拉起MySQL镜像(:5.7 表示5.7版本)

docker pull mysql:5.7

在这里插入图片描述

运行MySQL容器

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

参数说明:

run run 是运行一个容器

-d  表示后台运行

-p  表示容器内部端口和服务器端口映射关联

--privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆

-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置

-v /docker/mysql/data:/var/lib/mysql  同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失

-e MYSQL_ROOT_PASSWORD=123456   设置MySQL数据库root用户的密码

--name mysql     设值容器名称为mysql

mysql:5.7  表示从docker镜像mysql:5.7中启动一个容器

--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码

新建MySQL用户

先进入容器

docker exec -it mysql bash

执行MySQL命令, 输入root密码, 连接MySQL

mysql -uroot -p

输入密码后, 执行下面命令创建新用户 (用户名: test , 密码: test123)

GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test123' WITH GRANT OPTION;

阿里云的话远程访问记得防火墙开 3306 端口 !!!!

docker run -d -p 3306:3306 --privileged=true -v /mnt/docker_data/mysql8/conf/my.cnf:/etc/my.cnf -v /mnt/docker_data/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jm6879123 --name mysql8.0.18 mysql:8.0.18 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1 -e TZ=Asia/Shanghai

docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mariadb/data:/var/lib/mysql -d mariadb --lower_case_table_names=1

docker run -d -p 3306:3306 --privileged=true -v /mnt/docker_data/mysql5.7/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=btkj123456! --name mysql5.7 centos/mysql-57-centos7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1 -e TZ=Asia/Shanghai

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=hyxl@wd.666888! --name mysql8.0.18 mysql:8.0.18 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1 -e TZ=Asia/Shanghai

docker run -d -p 3306:3306 --privileged=true -v /mnt/docker_data/mysql8/conf/my.cnf:/etc/my.cnf -v /mnt/docker_data/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jm6879123 --name mysql8 mysql:8.0.18 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1 -e TZ=Asia/Shanghai

docker run --restart always -p 3306:3306 --name mysql88 -v /docker_data/mysql8/conf/my.cnf:/etc/my.cnf -v /mnt/docker_data/mysql88:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jm6879123 -e "TZ=Asia/Shanghai" -d mysql:8.0.18 --lower_case_table_names=1

docker run -d -p 3306:3306 --privileged=true -e MYSQL_ROOT_PASSWORD=hyxl@666888! --name mysql5.7 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1 -e TZ=Asia/Shanghai

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name=mysql5.7 centos/mysql-57-centos7 --lower_case_table_names=1

docker run --name kaka-elasticsearch -p 9200:9200 -p 9300:9300 -e discovery.type=single-node -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /kaka-data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /kaka-data/elasticsearch/data:/usr/share/elasticsearch/data -v /kaka-data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2

docker run --name kaka-kibana -e ELASTICSEARCH_HOSTS=http://192.168.42.130:9200 -p 5601:5601 -d kibana:7.4.2

CentOS7 docker安装redis

获取redis镜像

docker pull redis

查看本地镜像

docker images

先在服务器创建挂载的目录和配置文件

mkdir -p /mydata/redis/conf

[root@iZwz9hw4qywrrl4vj6o0j1Z ~]# cd /mydata/redis/conf/

[root@iZwz9hw4qywrrl4vj6o0j1Z conf]# touch redis.conf

启动redis

docker run -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

# 结果

[root@iZwz9hw4qywrrl4vj6o0j1Z conf]# docker run -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

004edb8a18e1f3f53702ef423834129cb060450046fc8452a833da244fa0a42b

命令解释

-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。

--name myredis 指定该容器名称,查看和进行操作都比较方便。

-v 挂载目录,规则与端口映射相同。

-d redis 表示后台启动redis

redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf

appendonly yes 开启redis 持久化

进入redis

[root@iZwz9hw4qywrrl4vj6o0j1Z conf]# docker exec -it redis redis-cli

127.0.0.1:6379>

docker pull minio/minio

docker run -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=hyxl" -e "MINIO_SECRET_KEY=hyxl.minio666888." -v /docker_data/minio/data:/data -v /docker_data/minio/config:/root/.minio -d minio/minio server /data

sybase数据备份还原

create database zjdb

on zjt =640000

log on zjlog =40500

1、创建设备:

disk init

name = 'zjt',

physname = 'E:\sybase\data\zjt.dat',

vdevno=4,

size=10240

go

disk init

name = 'zjlog',

physname = 'E:\sybase\data\zjlog.dat',

vdevno=7,

size=1240

go

2、在zjt设备下创建zjdb数据库:

create database zjdb

on zjt =800

log on zj_log =15

create database zjzjdb

on zjt =1200

log on zj_log =15

3、从备份文件中加载数据

load database zjdb from 'C:\Windows\System32\bak202211241623.dat'

导入完成后此时数据库不能立刻正常连接使用,需要使数据库联机,才可以正常使用

命令

online database 数据库名称

例如

Online database hanghaiexp

C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk1.8.0_91\bin;C:\Program Files\Java\jdk1.8.0_91\jre\bin;C:\Program Files\nodejs\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Azure Data Studio\bin;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\siteserver.exe;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Python27;C:\Program Files\Docker\Docker\resources\bin

4、查看表

exec sp_help

5、停止正在使用

select 'kill '+convert(varchar,spid) from master.dbo.sysprocesses where db_name(dbid)='zjdb'

6、查看数据库大小

use zjdb

go

sp_spaceused

go

7、删除设备

sp_dropdevice 设备名

8、扩容设备

disk resize name='frost_dev',size='400m'

9、扩容数据库和日志库

alter database frost on frost_dev =2

go

alter database frost log on frost_log_dev=3

go

10、删除数据库

drop database 数据库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值