服务器+宝塔快速搭建网站
我们可以选择在服务器中构建 LNPM 或者 LAPM 环境来搭建我们的个人网站,如果进行手动配置,对于没有学习过 linux 的人来说,可能有些困难,配置过程中也可能会出现各种错误。所以对于我们这些小白来说,有没有更简单便捷的方法,让我们能够快速的搭建个人网站呢?
接下来我们就来介绍一下使用宝塔和 Typecho 主题模板站快速搭建我们的个人网站,不需要你学习任何新的知识,直接一键安装我们所需要的环境,在 Typecho 可以任意选择我们喜欢的主题部署到我们个人网站中。
# 服务器的选择
首先我们需要有一台服务器,作为学生,我们可以去阿里云或者腾讯云进行学生认证,以更便宜的价格去购买我们所需要的服务器,你也可以在活动的时候购买,毕竟一台云主机也不便宜。不过你也可以去白嫖一个月的云主机 ECS,去体验一下。如果想长期搭建自己的个人网站,最好还是去购买一台云主机。
我这里是免费试用一个月的阿里云的云主机,去阿里云官网,首页中选择云主机 ECS,因为我还没有购买过云主机,所以可以免费试用一个月。这里可以看到我们云主机的公网 ip 地址。
选择实例,点击更多选择,选择重置实例密码 ...
Centos7配置nginx解析php脚本文件
继上篇我们安装好 nginx 和 php 服务之后,接下来我们配置 nginx 解析 html 文件夹下的 php 文件。当我们安装好 nginx 服务后,我们输入虚拟机的 ip 地址时候,我们默认访问的时 80 端口,它默认显示们 /usr/local/nginx/html (这里根据你自己安装的位置) 文件夹下的 index.html 文件,即 nginx 的默认访问主页。如果我们想放置 php 文件进行访问,就必须配置 nginx 能够解析 php 脚本。接下来演示如何配置 nginx 服务通过 https (http+ssl) 进行访问以及解析 php 脚本文件。
# nginx 配置 https 访问
要配置 https 服务,首先 nginx 要支持 ssl 协议,如果是 yum 方式安装的,它会默认帮你下载 ssl 模块。注意如果是源码方式安装的,在进行编译安装时,需要加上 --with-http_ssl_module 选项 (参考我上篇文章)
生成自签名证书 (不受信任) 或去 ca 机构免费申请一个 https 证书 (受信任),这里演示自签名证书。如果是想 ...
Centos7中安装Nginx和PHP服务
# Nginx 和 PHP 能干吗?
我们要想要搭建自己的网站时,我们可以在 linux 服务器中配置 LNPM (Linux,Nginx,PHP,Mysql) 或 LAPM (Apache) 实现网站的搭建与访问,Nginx 作为 web 服务器,可以将我们自己编写的 html 静态网页文件部署到服务器中,然后通过 ip 地址加端口号进行访问。但我们的页面不可能都是一些静态页面,网站应该能和后台数据进行交互,所以我们可以用到 PHP 这个技术,它是一种用于创建动态和交互式 HTML 网页的脚本语言。接下来我们简单配置一下这两个服务。
# 源码安装和 yum 安装的区别与选择
# yum 安装:
yum 相当于是自动化帮你安装,你不用管软件的依赖关系,在 yum 安装过程是帮你把软件的全部依赖关系帮你傻瓜式的解决了。而且现在 Centos7 的服务启动已经换成 systemctl 命令来控制了。通过 yum 安装会帮你自动注册服务,你可以通过 systemctl start xxx.service 启动服务,方便快捷。但是缺点是 yum 安装你没办法干预,安装的目录也是分散的。你可能要 ...
编写shell脚本并启动
# 一, 创建并执行 Shell 脚本
# 1. 脚本文件格式
编写一个脚本。 Shell 脚本就是普通的文本文件。所以我们需要一个文本编辑器来书写它们。最好的文本 编 辑器都会支持语法高亮,这样我们就能够看到一个脚本关键字的彩色编码视图。语法高亮会帮助我们查看某 种常见 错误。为了编写脚本文件,vim,gedit,kate,和许多其它编辑器都是不错的候选者。
使脚本文件可执行。 系统会相当挑剔不允许任何旧的文本文件被看作是一个程序,并且有充分的理由!所以 我们需要设置脚本文件的权限来允许其可执行。
把脚本放置到 shell 能够找到的地方 当没有指定可执行文件明确的路径名时,shell 会自动地搜索某些目录, 来查找此可执行文件。为了最大程度的方便,我们会把脚本放到这些目录当中。
# 2. 创建一个 hello_world 文件,使用 vim 编辑
12345#!/bin/bash#这是我们的第一个脚本文件echo 'Hello world!'
# 3. 可执行权限
使得脚本能够执行,用 chmod 设置权限
1$ chomd 755 hello_worl ...
idea使用内嵌的Tomcat获取前端用户信息
# 前后台通讯 - 前台发送数据到后台
# 工具:idea 社区版
# 环境:(没有配置的可以参考以下链接)
配置 Tomcat
配置 Maven
# 介绍:在 java 代码中内嵌的 Tomcat, 使用 main 函数启动。加载 html 页面后,用户输入信息,获取后显示在控制台
# 步骤
idea 中建立 Maven 项目
编写前端页面 html,用户提交信息
创建 Serlvet 类,并在 main 函数中嵌入 Tomcat 代码
运行测试类的 main 函数,获取页面信息输入到后端
# 一. idea 中建立 Maven 项目
# 1. 在 Idea 中配置 maven
打开 Idea,点击 File,然后点击 Settings,进入设置,或者直接按 Ctrl+Alt+S 进入设置
先在左上角的搜索框输入 maven,找到 maven 后单击,然后在右边的 maven home path 的右边选择你的 maven 安装路径,选择到根目录就好了,然后点击确定,具体步骤看下图:
Local repository 是 mav ...
Windows XP驱动编程
# 简单操作系统驱动及安全
# 一。配置和环境
系统 windows XP
安装 Windows SDK & DDK
下载链接:Windows DDK
下载 DriverMonitor.exe(将文件加载到内核)
下载 DirverView.exe(观察驱动运行结果)
# 二. Windows XP 平台下的驱动框架进行说明。
# 1. Windows XP 驱动框架。
Windows XP 驱动不同于普通的 C 应用态程序。C 应用态程序的入口是 main 函数,但是驱动中没有 main 函数,Windows XP 驱动入口函数称为 “DriverEntry” 的函数。在驱动加载后,第一个运行的就是 DriverEntry 函数,因此,所有需要初始化的工作都是在 DriverEntry 函数当中完成的。接下来,在初始化完成之后,DriverEntry(通过调用其他的功能函数)将控制权交给功能函数以完成必要的驱动功能。最后,当驱动工作完成之后,必须退出以释放内核空间,这是通过调用 “驱动退出函数” 实现的。与 Windows XP 驱动一定有一个固定的 ...
进程间通信
# 一、 进程间通信机制说明
linux 下多个进程间的通信机制叫做 IPC,它是多个进程之间相互沟通的一种方法。在 linux 下有多种进程间通信的方法:半双工管道、命名管道、消息队列、信号、信号量、共享内存、内存映射文件,套接字等等。
# 二、 进程间通信方法说明
# 2.1 半双工管道方法说明
(1)管道实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。管道只能在具有公共祖先的两个进程之间使用。通常,一个管道由一个进程创建,在进程调用 fork 后,这个管道就能在父子进程间使用了。
(2)管道通过 pipe (int fd [2]) 函数创建,参数 fd [0] 为读而打开,fd [1] 为写而打开。fd [1] 的输出是 fd [0] 的输入。简单来说,当父进程打开 fd [1] 关闭 fd [0], 就可以向管道写入文件,而子进程打开 fd [0] 关闭 fd [1], 可以从管道中读取文件。
# 2.2 命名管道方法说明
命名管道又称 FIFO, ...
Typora图片上传到博客
使用Typota上传图片到博客的方法
# 一。使用插件 hexo-asset-image
# 1. 修改配置文件
首先修改 blog (存放博客文件的目录) 文件下的_config.yml 文件,设置 post_asset_folder 这个选项为 true,
目的是在新建文章时会在_psots 文件夹下自动生成一个同名的文件夹,用来存放上传的图片。
# 2. 设置 Typora 的图像配置
设置图像复制到指定路径,文件地址:./$
# 3. 安装 hexo-asset-image 插件
注意 不要使用npm install hexo-asset-image --save这个命令安装,版本号不对,上传图片路径会有问题,使用以下命令
进入 blog 目录下,打开 Git push, 输入命令:
npm install https://github.com/CodeFalling/hexo-asset-image --save
或者下载 hexo-asset-image-for-hexo5 插件:
npm install hexo-asset-image-for-h ...
进程的同步互斥
# 一、 引起同步互斥问题的原因
同步:因为一些任务不是有一个进程实现,而是通过多个进程共同实现,所以这些进程之间按照一定的规则,互相协调合作共同实现某一任务而进行同步。
互斥:因为在多个程序并发执行时,由于共享系统资源,对于临界资源,多个进程只能进行互斥的访问,即每次只能允许一个进程访问,所以这些进程对于该资源的访问就形成了相互制约的关系。
# 二、 同步互斥方法说明
# 2.1 互斥锁同步互斥方法说明
当多个线程对公共资源进行访问和写入时,加上互斥锁以保证数据不会被多个线程操作时而混乱。下面以简单读,写操作来说明。一个线程从共享的缓冲区中读取操作,另一个线程向缓冲区中写数据,保证不会对共享缓冲区同时读取和写入,对共享缓冲区的访问加上互斥锁实现。通过线程函数 pthread_create () 在主进程中创建两个线程,一个进行读取,另一个进行写入,如果缓冲区为空,那么就向缓冲区中写入数据,并将 buffer_has_sem 设置为 1,让读线程可以读取数据。读线程则先判断缓冲区是否为空,不为空为输出数据。
# 2.2 条件变量同步互斥方法说明
条件变量是对互斥锁的补充,它的作 ...
Web静态网页
# 1. 猜数游戏
用户点击开始,在 0-100 内随机生成一个整数,输入你想猜的数字,点击提交。
演示界面:
猜数游戏 - 演示地址
# 2. 照亮黑暗
用户鼠标在页面停留,界面以用户的鼠标为中心形成光圈。
演示界面:
照亮黑暗 - 演示地址
# 3. 碰撞小球
用户可以点击小球并划动它,使它们相互碰撞。
演示界面:
碰撞小球 - 演示地址
# 4. 电影购票
用户点击选座位,侧栏显示对应座位信息,也可以取消已选择的座位,则删除对应的座位信息,点击下单,显示付款金额,最多可购选五张票。
演示界面:
电影购票 - 演示地址
# 5. 加载进度动画
演示界面:
加载进度动画 - 演示地址
# 6. 简约的登录界面
一个酷炫的用户登录界面。
演示界面:
简约的登录界面 - 演示地址
# 7. 转动时钟
一个简介的钟表显示当前时间。
演示界面:
转动时钟 - 演示地址
# 8. 神秘游戏场景动画
一个 3D 模型,用户可放大缩小和旋转。
演示界面:
神秘游戏场景动画 - ...