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 mysql
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装.
-e
: 静默执行 -t
: 忽略错误-R[分钟]
: 设置等待时间-y
: 自动应答yes--skip-broken
: 忽略依赖问题--nogpgcheck
: 忽略GPG验证
java -version
: 如果未找到命令, 那么就没有安装, 有版本信息那么久已经安装了rpm -qa | grep java
rpm -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/profile
java -version
如果可以看到版本信息即可echo $JAVA_HOME
: 查看JAVA_HOME环境变量echo $CLASSPATH
: 查看CLASSPATH环境变量echo $PATH
: 查看PATH环境变量rpm -qa | grep mysql
rpm -e --nodeps 卸载的包
: -e
是卸载, --nodeps
是不验证软件包的依赖关系rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
scp 文件路径 用户名@服务器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.5
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
yum -y install perl
mysqld --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/1Il
ERROR 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 writable
mkdir -p /usr/local/mysql/data
chmod -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.service
mysql -uroot -p
use mysql
select '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=mysql
sudo systemctl restart firewalld
utf8mb4
, 它向下兼容utf8.1 | ALTER DATABASE `数据库名` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; |
vi /etc/my.cnf
1 | [client] |
service mysqld status
, 新版本使用systemctl status mysqld.service
service mysqld start
, 新版本使用systemctl start mysqld.service
service mysqld stop
, 新版本使用systemctl stop mysqld.service
service mysqld restart
, 新版本使用systemctl restart mysqld.service
systemctl enable mysqld.service
systemctl disable mysqld.service
mkdir -p /usr/local/tomcat
cp tomcat.tar.gz /usr/local/tomcat
tar -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 --permanent
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
firewall-cmd --reload
sudo systemctl restart firewalld
war包在tomcat/webapps目录中, tomcat启动时,会自动解压
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。其特点是占有内存少,并发能力强,负载均衡,动静分离.事实上nginx的并发能力确实在同类型的网页服务器中表现较好.
集群: 集群通信系统是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能,它是共享资源、分担费用、共用信道设备及服务的多用途、高效能的无线调度通信系统。
Linux安装 Nginx
wget http://nginx.org/download/nginx-1.8.1.tar.gz
yum -y install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
/var/temp/nginx
1 | ./configure \ |
/var/temp/nginx/client
目录已经创建mkdir -p /var/temp/nginx/client
make
make install
prifix
就是nginx的安装目录, 它里面的sbin
下有一个nginx可执行程序./nginx
Welcome 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