Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
- 字符串类型
- 散列类型
- 列表类型
- 集合类型
- 有序集合类型。
SSM(Spring,Spring MVC,MyBatis)其中Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
more >> Maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用Maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。
more >>
SSH(Struts,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是一个轻量级的Java 开发框架。
more >>SSH(Struts,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
more >>
SSH(Struts,Spring,Hibernate) Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。虽然Hibernate现在很少使用了, 但是可以学习一下它的思想.
more >>RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。Linux可以通过brew安装: brew install rpm.
-e: 卸载rpm包-q: 查询已安装的软件信息-i: 安装rpm包-u: 升级rpm包--replacepkgs: 重新安装rpm包--justdb: 升级数据库,不修改文件系统--percent: 在软件包安装时输出百分比--help: 帮助--version: 显示版本信息-c: 显示所有配置文件-d: 显示所有文档文件-h: 显示安装进度-l: 列出软件包中的文件-a: 显示出文件状态-p: 查询/校验一个软件包文件-v: 显示详细的处理信息--dump: 显示基本文件信息--nomd5: 不验证文件的md5支持--nofiles: 不验证软件包中的文件--nodeps: 不验证软件包的依赖关系--whatrequires: 查询/验证需要一个依赖性的软件包--whatprovides: 查询/验证提供一个依赖性的软件包-vh: 显示安装进度;-U: 升级软件包;-qpl: 列出RPM软件包内的文件信息;-qpi: 列出RPM软件包的描述信息;-qf: 查找指定文件属于哪个RPM软件包;-Va: 校验所有的RPM软件包,查找丢失的文件;-qa: 查找相应文件,如rpm -qa mysqlYum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装.
-e: 静默执行 -t: 忽略错误-R[分钟]: 设置等待时间-y: 自动应答yes--skip-broken: 忽略依赖问题--nogpgcheck: 忽略GPG验证
java -version: 如果未找到命令, 那么就没有安装, 有版本信息那么久已经安装了rpm -qa | grep javarpm -e --nodeps 卸载的包: -e是卸载, --nodeps是不验证软件包的依赖关系rpm -ivh rpm包即可, rpm包默认安装在/usr/java目录下scp 文件路径 用户名@服务器ip地址:路径, 输入密码后即可开始传递/usr/local/java目录下tar -xvf tar包名yum install glibc.i686/etc/profile文件, 运行vi /etc/profile命令#JAVA_HOME后面是你的JDK安装路径, 路径和版本不一样可能不同#set java environment
source /etc/profilejava -version如果可以看到版本信息即可echo $JAVA_HOME: 查看JAVA_HOME环境变量echo $CLASSPATH: 查看CLASSPATH环境变量echo $PATH: 查看PATH环境变量rpm -qa | grep mysqlrpm -e --nodeps 卸载的包: -e是卸载, --nodeps是不验证软件包的依赖关系rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64scp 文件路径 用户名@服务器ip地址:路径, 输入密码后即可开始传递.可以通过windows下载, 然后通过scp命令传输到服务器, 也可以通过wget命令直接在Linux服务器上面下载(如果提示没有wget命令, 需要运行yum -y install wget)./usr/local/mysql, 并把MySQL的tar包拷贝到该目录tar -xvf tar包名yum -y install libaio.so.1、yum -y install libgcc_s.so.1和yum -y install libncurses.so.5rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpmyum -y install perlmysqld --initialize --user=用户名, 用户名一般是root/var/log/mysqld.log保存grep password /var/log/mysqld.log命令查看, 例如: A temporary password is generated for root@localhost: K-hd5nRr/1Il, 那么K-hd5nRr/1Il就是密码.mysql -uroot -pK-hd5nRr/1IlERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2), 那是因为MySQL没有正常启动导致service mysqld start, 新版本运行systemctl start mysqld.service开启服务grep [ERROR] | /var/log/mysqld.log, 如果出现The innodb_system data file 'ibdata1' must be writablemkdir -p /usr/local/mysql/datachmod -R 777 /usr/local/mysql/data/vi /etc/my.cnf, 更改datadir=/var/lib/mysql/data为刚刚的文件夹.set password=password('新密码');select @@validate_password_policy;SHOW VARIABLES LIKE 'validate_password%';set global validate_password_mixed_case_count=0;set global validate_password_policy=0;set global validate_password_number_count=3;set global validate_password_special_char_count=0;set global validate_password_length=3;mysql -uroot -p grant all privileges on *.* to root@'%' identified by '123456';*.*表示所有数据库的所有表root表示用户名123456: 表示使用该密码登录flush privileges;exit;systemctl restart mysqld.servicemysql -uroot -p use mysqlselect 'host' from user where user='root';update user set host = '%' where user ='root';flush privileges;安全组配置出方向的Tcp、端口3306授权对象为0.0.0.0/0的策略sudo firewall-cmd --zone=public --permanent --add-service=mysqlsudo systemctl restart firewalldutf8mb4, 它向下兼容utf8.1 | ALTER DATABASE `数据库名` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; |
vi /etc/my.cnf1 | [client] |
service mysqld status, 新版本使用systemctl status mysqld.serviceservice mysqld start, 新版本使用systemctl start mysqld.serviceservice mysqld stop, 新版本使用systemctl stop mysqld.serviceservice mysqld restart, 新版本使用systemctl restart mysqld.servicesystemctl enable mysqld.servicesystemctl disable mysqld.servicemkdir -p /usr/local/tomcatcp tomcat.tar.gz /usr/local/tomcattar -xvf tomcat.tar.gz/usr/local/tomcat/apache-tomcat-x.x.x/bin目录,不同版本后面的路径可能不一样sudo sh startup.sh./startup.sh firewall-cmd --add-port=8080/tcp --zone=public --permanentfirewall-cmd --zone=public --list-portsfirewall-cmd --permanent --zone=public --remove-port=8080/tcpfirewall-cmd --reloadsudo systemctl restart firewalldwar包在tomcat/webapps目录中, tomcat启动时,会自动解压
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。其特点是占有内存少,并发能力强,负载均衡,动静分离.事实上nginx的并发能力确实在同类型的网页服务器中表现较好.
集群: 集群通信系统是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能,它是共享资源、分担费用、共用信道设备及服务的多用途、高效能的无线调度通信系统。
Linux安装 Nginx
wget http://nginx.org/download/nginx-1.8.1.tar.gzyum -y install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel/var/temp/nginx1 | ./configure \ |
/var/temp/nginx/client目录已经创建mkdir -p /var/temp/nginx/clientmakemake installprifix就是nginx的安装目录, 它里面的sbin下有一个nginx可执行程序./nginxWelcome to nginx!表示已经成功开启, 如果不能访问, 还需要把80端口添加到防火墙中../nginx -s stop./nginx -s quit./nginx -s reload在nginx安装目录下有一个conf文件夹里面的nginx.conf就是配置文件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#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
#监听的端口
listen 80;
#监听的域名
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#访问路径
location / {
#路径 相对于nginx安装目录下的html路径
root html;
#欢迎语
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
1 | #user nobody; |
1 | #user nobody; |
1 | #user nobody; |
可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
1 | upstream server_xxxx{ |
假如nginx安装目录在/usr/local/nginx, 那么我们把ssl文件(.crt和.key)放在/usr/local/nginx/ssl/中, 编辑vi /usr/local/nginx/conf/nginx.conf, 配置如下: 可以同时支持http和https
1 | server { |
如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令
systemcel enable nginx.service
编译安装的需要在/lib/systemd/system/中手动新建nginx.service文件, 并配置相关参数, 可以参考NGINX systemd service file
1 | vi /lib/systemd/system/nginx.service |
注意这里的参数路径: 和使用.configuartion参数配置时的路径一致1
2
3
4
5
6
7
8
9
10
11
12
13
14[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/nginx/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
设置开机启动: systemctl enable nginx.service
启动nginx服务: systemctl start nginx.service
停止开机启动: systemctl disable nginx.service
查看服务当前状态: systemctl status nginx.service
重新启动服务: systemctl restart nginx.service
查看所有已启动的服务: systemctl list-units –type=service
在 nginx 的配置文件 /安装路径/conf/nginx.conf中添加
1 | location /images/ { |
/home/images文件夹, 并更改/home/images文件夹权限, 阿里云EOS用户还需要注意在控制台开启80端口1 | mkdir -p /home/images |
/home/images目录中服务器ip/images/图片名称访问tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true