博客地址:http://www.moonxy.com 一.前言 LAMP 环境搭建好之后,其实仅仅是安装上了软件,我们还需要掌握 httpd 和 PHP 的配置. 二.httpd 配置 2.1 创建虚拟主机 我们以搭建 discuz 论坛为例,介绍如何在 Apache 中创建虚拟主机. 下载 discuz 论坛建站程序包之后,解压到指定目录,并删掉无用的文件及目录. # mkdir /data/www # cp ComsenzDiscuz-DiscuzX-3.4.zip /data/www/ #…
博客地址:http://www.moonxy.com 一.前言 LAMP 是 Linux Apache MySQL PHP 的简写,即把 Apache.MySQL 以及 PHP 安装在 Linux 系统上,组成一个环境来运行 PHP 脚本语言,通常是 PHP 的网站.其中的 Apache 是主流的 Web 服务器软件,MySQL 是小型的关系型数据库软件. 我们可以把 Apache+PHP 安装在一台机器上,再把 MySQL 安装在另外一台机器上,也可以将其全部安装在同一台机器上.但是 Apac…
一.前言 Tomcat 是 Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的核心项目,由 Apache.Sun 和其他一些公司及个人共同开发.使用 Java 语言编写的 Web 应用可以用 Tomcat + JDK 来运行. Tomcat 是一个中间件,真正的起作用的是解析 Java 脚本的 JDK.JDK(Java Development Kit)是整个 Java 的核心,它包含了 Java 的运行环境和一堆与 Java 相关的工具及 J…
信号量:用于管理对资源的访问: 共享内存:用于在程序之间高效的共享数据: 消息队列:在程序之间传递数据的一种简单方法: 一.信号量 临界代码:需要确保只有一个进程或者一个执行线程可以进入这个临界代码并拥有对资源独占式的访问权. 临界区:真正执行数据更新的代码需要独占式的执行,它们被称为临界区域:它们通常只在一个大型程序中占据一小段的代码. 信号量是一个特殊的变量,它只取正整数值,并且程序对其访问都是原子操作:只允许对它进行等待和发送信号这两种操作. 在Linux编程中,等待和发送信号都已具有特殊…
相关博客: 吴恩达机器学习笔记(八) —— 降维与主成分分析法(PCA) <机器学习实战>学习笔记第十三章 —— 利用PCA来简化数据 奇异值分解(SVD)原理与在降维中的应用 机器学习(29)之奇异值分解SVD原理与应用详解 主要内容: 一.SVD简介 二.U.∑.VT三个矩阵的求解 三.U.∑.VT三个矩阵的含义 四.SVD用于PCA降维 五.利用SVD优化推荐系统 六.利用SVD进行数据压缩 一.SVD简介 1.SVD分解能够将任意矩阵着矩阵(m*n)分解成三个矩阵U(m*m).Σ(m*…
博客地址:http://www.moonxy.com 一.前言 LNMP 中的 N 指 Nginx,在静态页面的处理上,Nginx 较 Apache 更胜一筹:但在动态页面的处理上,Nginx 并不比 Apache 有优势,目前有很多爱好者对 Nginx 比较热衷. 二.安装 LNMP LNMP 中 MySQL 的安装步骤和 LAMP 中的一样,前面的文章已经介绍,此处只讲解 PHP 和 Nginx 的安装. 2.1 安装 PHP 下载 PHP 的源码包 php-7.2.8.tar.gz 到 /…
博客地址:http://www.moonxy.com 一.前言 前面几章介绍了 MySQL 的安装和简单的配置,只会这些还不够,作为 Linux 系统管理员,我们还需要掌握一些基本的操作,以满足日常管理工作所需.MySQL环境中的命令需要带一个分号作为命令结束符. MySQL 之父 Widenius 先生离开了 Sun 之后,觉得依靠 Sun/Oracle 来发展 MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做 MariaDB.MariaDB 跟 MySQL 在绝大多数方面是兼容…
博客地址:http://www.moonxy.com 一.前言 常见的编程语言分为两类:一类是编译型语言,如:C.C++ 和 Java等,它们远行前要经过编译器的编译.另一类是解释型语言,不需要编译,执行时,需要使用解释器一行一行地解释执行,如:awk.perl.python 和 shell 等. Shell 是一种脚本语言,属于上面提到的第二类语言,就必须有对应的解释器来执行这些脚本,最常见的脚本解释器是:bash. 在编写 Shell 脚本时,我们不仅会用到很多的 Linux 命令.正则表达…
一.前言 基础知识 1.1 公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密算法,它的加密解密过程如下: 加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文.加密过程需要用到公钥. 解密:通过解密算法和私钥对密文进行解密,得到明文.解密过程需要用到解密算法和私钥.注意,由公钥加密的内容,只能由私钥进行解密,也就是说,由公钥加密的内容,如果不知道私钥,是无法解密的. 公钥密码体制的公钥和算法都是公开的(这是为什么叫公钥密码体…
这一章主要介绍C语言的结构和其他数据形式,是学习算法和数据结构的重点. 1.示例代码 /*book.c -- 仅包含一本书的图书目录*/ #include <stdio.h> #define MAXTITL 41 #define MAXAUTL 31 struct book { /* data */ char title[MAXTITL]; char author[MAXAUTL]; float value; }; int main(void) { struct book library; /…