用nginx服务器配置SSL证书和HTTPS协议

前言 之前申请的域名以及域名的备案都弄好了,在Chrome上访问的时候,地址栏左边的不安全的标志一直让我挺难受.于是我决定要把nginx服务器端口改到HTTPS的443端口,同时把ssl证书也一并弄好. NginxWebUI 在码云上看到了一个有意思的项目NginxWebUI,可以在网页上可视化管理和配置nginx. SSL证书相关准备 申请SSL证书 一开始使用NginxWebUI自动申请了一个证书,不过这个证书下载下来是.cer文件和.key文件.在nginx中配置需要.pem和.key.于是我先使用openssl尝试把.cer转为.pem openssl OpenSSL> x509 -outform der -in www.illusion.cool.cer -out www.illusion.cool.pem 配置到nginx中最后无法识别,没办法我还是老老实实地去阿里云申请了一个免费的SSL证书. 把证书配置到nginx中 #80端口跳转到443 server { listen 80; server_name www.illusion.cool; rewrite ^(.*)$ https://$host$1 permanent; } #HTTPS server server { listen 443 ssl; server_name www.illusion.cool; #ssl on; ssl_certificate cert/4319139_www.illusion.cool.pem; ssl_certificate_key cert/4319139_www.illusion.cool.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ... } ssl_certificate和ssl_certificate_key指定证书文件位置,这里相对位置指的是相对于nginx的conf文件夹.我这里在conf中新建了cert文件夹,路径为nginx/conf/cert. nginx安装SSL模块 如果nginx编译时未安装SSL模块,在配置SSL后会提示错误 nginx -t #测试conf配置 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.

关于CPU线程的一点学习心得

CPU的组成 CPU按照逻辑上可以粗略地划分为三大部分,分别是控制单元,运算单元,存储单元. CPU大致工作过程 程序编译为二级制的指令后存放在内存中,由CPU调用.需要反复调用的指令会存在CPU的寄存器和缓存中.运算后的过程结果存放在缓存和内存中.其中缓存又分为一二三共三级缓存,CPU的每个核心有一级和二级缓存,所有核心共享三级缓存. 逻辑运算单元ALU,对各种程序指令和数据进行运算,ALU先从缓存中找,找不到再去内存中找. 缓存 因为ALU的运算速度非常快,远远超过从内存中读写数据的速度,所以就需要缓存来暂时存放部分数据,其中以一级缓存速度最快. 多线程 现在的CPU大多数是多运算核心的(比如8核16核等),每个核心就代表一个线程.因为运算速度比读写速度快出了几个量级,为了不让CPU运算核心空闲造成浪费,所以就有了多线程的处理模式. 乱序执行 CPU虽然基本上是按照程序写好的指令顺序来执行的,但有些耗时较长的指令如读取内存的长时间等待会造成浪费,所以CPU会查找与当前指令无关的指令先执行,这就是乱序执行. 乱序执行当然是为了提高CPU利用率,提高运算速度,但也会带来一些问题.

在aliyun上使用nginx部署hexo博客

运行系统环境 aliyun-centos8镜像 hexo的相关安装配置 相关依赖安装 node.js yum install -y node.js ... [root@myAliyun blog]# node -v v10.21.0 npm npm config set registry https://registry.npm.taobao.org npm默认镜像源下载速度过慢, 这里换成国内淘宝的源 hexo npm install -g hexo-cli ... [root@myAliyun blog]# hexo -v INFO ================================== ███╗ ██╗███████╗██╗ ██╗████████╗ ████╗ ██║██╔════╝╚██╗██╔╝╚══██╔══╝ ██╔██╗ ██║█████╗ ╚███╔╝ ██║ ██║╚██╗██║██╔══╝ ██╔██╗ ██║ ██║ ╚████║███████╗██╔╝ ██╗ ██║ ╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═╝ ======================================== NexT version 8.0.0-rc.4 Documentation: https://theme-next.js.org ======================================== hexo: 4.2.1 hexo-cli: 3.1.0 os: Linux 4.18.0-193.6.3.el8_2.x86_64 linux x64 http_parser: 2.

将项目部署到Linux服务器中

系统环境准备 CentOS Linux release 8.2.2004 (Core) jdk1.8.0_201-b09 mysql Ver 14.14 Distrib 5.5.40, for Linux (x86_64) nginx version: nginx/1.18.0 redis-cli 5.0.2 Redis server v=5.0.2 Apache Tomcat/8.5.39 mysql 安装…. xshell远程连接到linux中的mysql (开启3306端口) 将数据库的备份还原到mysql中 redis 安装配置… solr 上传配置好的solr到远程主机 进入bin目录,修改权限: chmod -R u+x solr 后台启动solr,bin目录执行: ./solr start -force 本地测试solr环境是否正常 http://[远程主机ip]:8983 (开启8983端口) springBoot项目包 maven命令install打包,生成jar包 (controller中的pom.xml添加spring-boot-maven-plugin插件,生成主清单) 将controller层的jar包,上传到linux 后台运行jar包,命令: nohup java -jar itrip-controller-1.0-SNAPSHOT.jar & 运行后,当前目录下回生成nohup.out文件,记录日志信息 查看日志 #从尾部开始查看,默认10行 tail nohup.out #从尾部开始查看,20行 tail -20 nohup.out #动态查看内容 tail -f nohup.out 前端 使用tomcat作为服务器 将前端项目上传到tomcat中的webapps目录下 (前端项目中的ajax请求地址,为linux地址) 修改端口8090(后端支付后的通知页面配置的前端页面端口8090) tomact目录下的conf/server.

linux中防火墙的基本使用

开启80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 出现success表明添加成功 命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 重启: systemctl restart firewalld 查看状态: systemctl status firewalld 开机禁用: systemctl disable firewalld 开机启用: systemctl enable firewalld 配置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 端口的开放与删除 添加 firewall-cmd --zone=public --add-port=80/tcp --permanent 重新载入 firewall-cmd --reload 查看 firewall-cmd --zone=public --query-port=80/tcp 删除 firewall-cmd --zone=public --remove-port=80/tcp --permanent