序言


开发C#桌面应用程序有很多选择,比如WinForm或WPF。

这里我们用ChromiumFX。

目录


一、Centos7 从零编译Nginx+PHP+MySql

二、Centos7 从零配置Nginx+PHP+MySql

三、Centos7 从零编译配置Memcached

一、准备工作


1.1 ChromiumFX

官方网站:https://bitbucket.org/chromiumfx/chromiumfx

下载地址:https://bitbucket.org/chromiumfx/chromiumfx/downloads/?tab=tags

注意:一定要记得ChromiumFx的版本号,在下载CEF的时候要确保版本号一致。比如我们下载的版本号是:3.2924.1569

1、用VS打开ChromiumFX项目,我用的是VS2017。

2、将项目的配置成Release,生成平台选择x86或x64按照自己的需求。

3、按顺序生成libcfx、ChromiumFX、ChromiumWebBrowser项目

4、进入项目文件夹,Build>Release。将libcfx.dll、ChromiumFX.dll、ChromiumWebBrowser.dll三个文件复制出来单独保存。

5、本章完结。

1.2 CEF

官方网站:https://bitbucket.org/chromiumembedded/cef/

下载地址:http://opensource.spotify.com/cefbuilds/index.html(貌似国内打不开,请自行vpn)

注意:请按照ChromiumFx的版本号,下载CEF。比如我们下载的版本号是:3.2924.1569

1、选择win32或win64版本。我们这里选择win32版本。cef更新比较快,想看旧版本号点击Show more builds。

2、找到与ChromiumFX对应的版本号,并下载Sample Application。这是官方的示例。

3、解压文件后,进入解压目录Release,复制所有文件出来单独存放。

4、本章完结。

二、开始安装(nginx篇)


2.1 解压pcre

[官方网站] http://www.pcre.org/

命令流程:

# cd /source/
# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz
# tar -zxvf pcre-8.38.tar.gz

说明:不需要编译,只需要解压就行。

2.2 解压zlib

[官方网站] http://zlib.net/

命令流程:

# cd /source/
# wget http://zlib.net/zlib-1.2.8.tar.gz
# tar -zxvf zlib-1.2.8.tar.gz

说明:不需要编译,只需要解压就行。

2.3 安装nginx

[官方网站] http://nginx.org/

命令流程:

# cd /source/
# wget http://nginx.org/download/nginx-1.8.0.tar.gz
# tar -zxvf nginx-1.8..tar.gz
# cd nginx-1.8.
# ./configure --prefix=/lnmp/nginx --with-pcre=/source/pcre-8.38 --with-zlib=/source/zlib-1.2.8
# make
# make install

--with-pcre:用来设置pcre的源码目录。
 --with-zlib:用来设置zlib的源码目录。
 因为编译nginx需要用到这两个库的源码。

小章总结:

此处告一段落,nginx安装完成。我们可以先满足下自己的欲望心。打开nginx服务看看Hello World吧。

启动nginx

# /lnmp/nginx/sbin/nginx

启动后可以再浏览器中打开页面,会显示nginx默认页面。

三、开始安装(php篇)


3.1 安装libxml2

[官方网站] http://xmlsoft.org/

命令流程:

# cd /source/
# wget ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz
# tar -zxvf libxml2-2.9..tar.gz
# cd libxml2-2.9.
# ./configure \
# --prefix=/package/libxml2 --with-python=no
# make
# make install

这里--with-python=no是

3.2 安装php

[官方网站] http://php.net/

命令流程:

# cd /source/
# wget http://cn2.php.net/distributions/php-7.0.2.tar.gz
# tar -zxvf php-7.0..tar.gz
# cd php-7.0. # ./configure \
# --prefix=/lnmp/php \
# --with-libxml-dir=/package/libxml2 \ //打开libxml2库的支持
# --with-config-file-path=/lnmp/php/etc \ //配置文件所在目录
# --enable-mbstring \ //支持mbstring库
# --enable-fpm \ //支持php-fpm(推荐打开)
# --with-mysqli //打开mysqli模块 # make
# make install

四、开始安装(mysql篇)


4.1 安装cmake

[官方网站] https://cmake.org/

命令流程:

# wget https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz
# tar -zxvf cmake-3.4.1.tar.gz
# cd cmake-3.4.1
# ./configure --prefix=/package/cmake
# make
# make install
# export PATH=/package/cmake/bin:$PATH //设置环境变量。可忽略,只是为了你以后使用cmake方便点。

4.2 安装ncurses

[官方网站] http://ftp.gnu.org/gnu/ncurses/

命令流程:

# wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
# tar -zxvf ncurses-6.0.tar.gz
# cd ncurses-6.0
# ./configure --prefix=/package/ncurese
# make
# make install

4.3 安装mysql

[官方网站] http://www.mysql.com/

命令流程:

不带boost安装方式

// 这个是不带boost版本的mysql源码。你可以使用以下的参数在编译过程中自动下载boost
// -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/package/boost # wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
# tar -zxvf mysql-5.7..tar.gz
# cd mysql-5.7.
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
# -DDOWNLOAD_BOOST= -DWITH_BOOST=/package/boost \ //设置自动下载boost库,并放到-DWITH_BOOST指定的路径里。
# -DCURSES_LIBRARY=/package/ncurses/lib/libncurses.a \ //ncurses库libncurses.a
# -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses库头文件
# make # make install

自带boost安装方式

# wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.10.tar.gz
# tar -zxvf mysql-boost-5.7..tar.gz
# cd mysql-5.7.
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
# -DWITH_BOOST=/boost/boost_1_59_0 //boost库的路径
# -DCURSES_LIBRARY=/package/ncurese/lib/libncurses.a \ //ncurses库libncurses.a
# -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses库头文件
# make
# make install

说明:mysql从5.7版本后就需要boost库的支持了。并且非常恶心的是mysql需要指定的boost版本号,高了或低了都有可能导致编译不通过。

到此,使用CentOS7上常用的、全新的Web模块基本已经完成了,剩下的就是对这些软件进行配置咯。哈哈,其实代码多,但是了解后真的挺简单,就那几个命令。怎么样?是不是蛮简单的。

ChromiumFX的更多相关文章

  1. chromiumFx编译使用

    CEF chormeFx 为针对.Net的CEF框架,下载链接为: https://bitbucket.org/chromiumfx/chromiumfx 点击Download可以下载chromium ...

  2. ChromiumFX中js调用C#方法

    server端代码: ChromiumWebBrowser wb; wb.AddGlobalJSFunction("CfxHelloWorld").Execute += CfxHe ...

  3. C#使用NanUI或ChromiumFx碰到的坑(一)

    最近在花时间封装一个Razor模板+NanUI的Winform组件,发现了有个神奇地方,,由于需要使用CfxResourceHandler,用于把对cshtml文件的请求,编译成html并返回给CEF ...

  4. 使用C#在CEF中拦截并响应请求

    一.前言 忙里偷闲,研究了一下如何在CEF中拦截请求,并作出响应.这个功能对某些需要修改服务器响应的需求来说必不可少,可以直接读取本地文件作为响应内容. C#的CEF封装项目有很多,我使用的是Chro ...

  5. 如何在Windows上从源码编译Chromium (CEF3) 加入mp3支持

    一.什么是CEF CEF即Chromium Embeded Framework,由谷歌的开源浏览器项目Chromium扩展而来,可方便地嵌入其它程序中以得到浏览器功能. CEF包括CEF1和CEF3两 ...

  6. CEF中select选项错位的解决方法

    使用cef加载页面,移动窗口后选项的位置并不会变化,仍保持上次打开的位置. 经过google查找到这是一个已经解决了的问题:https://bitbucket.org/chromiumembedded ...

  7. NanUI for Winform发布,让Winform界面设计拥有无限可能

    如今,尽管WPF.UWP大行其道,大有把Winform打残干废的趋势.但是还是有那么一波顽固不化的老家伙们固守着Winform,其中就包括我. 好吧,既然都说Winform做得软件不如WPF界面美观效 ...

  8. NanUI for Winform 使用示例【第一集】——山寨个代码编辑器

    NanUI for Winform从昨天写博客发布到现在获得了和多朋友的关注,首先感谢大家的关注和支持!请看昨天本人的博文<NanUI for Winform发布,让Winform界面设计拥有无 ...

  9. 基于.net开发chrome核心浏览器【七】

    这是一个系列的文章,前面六篇文章的地址如下: 基于.net开发chrome核心浏览器[六] 基于.net开发chrome核心浏览器[五] 基于.net开发chrome核心浏览器[四] 基于.net开发 ...

随机推荐

  1. linux 内核的 switch_to原理

    switch_to:这是一个宏,有三个参数prev,next,last 局部变量prev,next:指向进程描述符的内存地址 首先明确的是:last和prev是同一个,用last只是为了理解方便,完全 ...

  2. POJ1063 Flip and Shift

    题目来源:http://poj.org/problem?id=1063 题目大意: 有一种游戏如图所示.一个填满黑白球的转盘,它可以有两种操作,一种是将大转盘顺时针旋转,所有球的位置顺时针挪一位,另一 ...

  3. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_元数据

    1.元数据简介 全称:metadata 属性:数据表集合 产地:面向 CLR 的编译器在托管模块中生成 2.元数据内部结构及与托管模块的关系 [概述] 托管模块中包含着元数据,元数据是由一组数据表组成 ...

  4. java mybatis学习一

    1.引入maven包 和 导入 sqljdbc包 <dependency> <groupId>org.apache.ibatis</groupId> <art ...

  5. 移动性能测试 | 持续集成中的 Android 稳定性测试

    前言 谈到Android稳定测试,大多数会联想到使用monkey工具来做测试.google官方提供了monkey工具,可以很快速点击被应用,之前我有一篇帖子提到了monkey工具的使用,详见: htt ...

  6. spring boot 启动时运行代码(2)ApplicationListener

    项目概览: StepExecutor: @Component @Slf4j public class StepExecutor implements Runnable { @Autowired pri ...

  7. Linux防火墙配置学习记录

    一.iptables基本原理 1.iptables是一个管理内核包过滤的工具,包含4个表,5个链 表和链被称为Netfilter模块的两个维度, 表提供特定的功能内置四个表: filter表:用于对数 ...

  8. 进入wordpress中的模板文件

    Wordpress的页面结构 一个简单的wordpress由 头部.内容.页脚组成,每个块中的每一个都由当前wordpress主题中模板文件生成. eg: 头:包含重要的信息,一般都是网页的头部. 内 ...

  9. The 'gridview' module MUST be setup in your Yii configuration file.

    解决方法:common的config的main.php中添加 'gridview' => ['class' => 'kartik\grid\Module'], 在vender的compos ...

  10. 快速排序算法的实现 && 随机生成区间里的数 && O(n)找第k小 && O(nlogk)找前k大

    思路:固定一个数,把这个数放到合法的位置,然后左边的数都是比它小,右边的数都是比它大 固定权值选的是第一个数,或者一个随机数 因为固定的是左端点,所以一开始需要在右端点开始,找一个小于权值的数,从左端 ...