0%

1、项目初始化
1
2
npm inti
npm i webpack vue vue-loader css-loader vue-template-compiler style-loader
2、创建src目录并在src目录下创建app.vue文件,在app.vue文件中写入:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<template>
<die id = "test">{{text}}</die>
</template>

<script>
export default{
data() {
return {
text: 'abc'
}
}
}
</script>

<style>

#test{
color: red;
}

</style>
3、在src下创建入口文件index.js,并写入:
1
2
3
4
5
6
7
8
9
10
import Vue from 'vue'
import App from './app.vue'


const root = document.createElement('div')
document.body.appendChild(root)

new Vue({
render: (h) => h(App)
}).$mount(root)
4、在根目录创建webpack配置文件webpack.config.js,并写入:
1
vue-loader@15.*之后除了必须带有VueLoaderPlugin 之外,还需另外单独配置css-loader。
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
const path = require('path')
const VueLoaderPlugin = require('vue-loader/lib/plugin');

module.exports = {
entry: path.join(__dirname, 'src/index.js'), //入口文件
output: {
filename: "bundle.js", //输出文件名
path: path.join(__dirname, 'dist') //输出文件路径
},
module: {
rules: [
{
test: /\.vue$/,
loader: "vue-loader"
},
{
test: /\.css$/,
use: ['style-loader','css-loader']
}
]
},
plugins: [
// 添加VueLoaderPlugin,mode-loader
new VueLoaderPlugin()
],
}
5、在package.json文件scripts节点下添加:
1
"build": "webpack --config webpack.config.js"
6、执行打包命令
1
npm run build
7、图片处理 url-loader
7.1、安装环境 url-loader file-loader
1
npm i url-loader file-loader
7.2、webpack.config.js配置如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module.exports = {
module: {
rules: [
{
test: /\.(gif|jpg|jpeg|png|svg)$/,
use: [
{
loader: "url-loader",
options: {
limit: 1024, //小于1024转换为base64直接放在js内容内
name:'[name].[ext]', //名字使用原来的文件名 ext为扩展名
}
}
]
}
]
}
}
8、使用CSS预处理框架Stylus
8.1、安装环境 stylus-loader stylus
1
npm i stylus-loader stylus
8.2、webpack.config.js配置如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
module.exports = {
module: {
rules: [
{
test: /\.styl$/,
use: [
'style-loader',
'css-loader',
'stylus-loader' //处理.styl文件为css文件后返回给上级处理
]
}
]
}
}
9、使用postcss和babel
9.1、安装依赖
1
2
npm i postcss-loader autoprefixer babel-loader babel-core
npm install babel-preset-env babel-plugin-transform-vue-jsx
9.2、根目录创建babel配置文件.babelrc
1
2
3
4
5
6
7
8
9
//babel配置文件
{
"presets": [
"env"
],
"plugins": [
"transform-vue-jsx"
]
}
9.3、根目录创建postcss配置文件postcss.config.js
1
2
3
4
5
6
7
8
//postcss配置文件  后处理css
const autoprefixer = require('autoprefixer');

module.exports= {
plugins:[
autoprefixer(),
]
};
9.4、webpack.config.js文件修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const config = {
module: {
rules: [
{
test: /\.jsx$/,
loader: "babel-loader"
},
{
test: /\.styl$/,
use: [
'style-loader',
'css-loader',
{
loader: "postcss-loader",
options: {
sourceMap:true, //使用stylus-loader生成sourceMap
}
},
'stylus-loader' //处理.styl文件为css文件后返回给上级处理
]
},
]
}
}

1、安装依赖
1
2
3
npm i webpack-dev-server
npm i cross-env //配置环境变量依赖
npm i html-webpack-plugin //webpack插件 生成入口html自动包含打包后js
2、修改package.json文件如下:
1
2
3
4
5
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js"
},
3、修改webpack配置文件webpack.config.js增加:
1
2
3
const config = {
target: "web",
}
1
2
3
4
5
6
7
8
9
10
const config = {
plugins: [
new webpack.DefinePlugin({
'process.env':{
NODE_ENV : isDev ? '"development"' : '"production"',
}
}),
new HTMLPlugin(),
],
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 针对开发环境做以下配置
*/
if(isDev){
config.devtool= '#cheap-module-eval-source-map'; //在浏览器中调试查看es6代码
config.devServer = {
port: 8000,
host: '0.0.0.0',
overlay: {
error: true, //在网页上显示错误信息
},
open: false, //启动时自动打开浏览器
historyApiFallback: {}, //webpack未识别的路由重定向
//启动热加载
hot: true,
};

//热加载
config.plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
);

}
1
module.exports = config;
4、最终webpack.config.js文件为:
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
const path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const isDev = process.env.NODE_ENV === 'development'; //判断是否是开发环境 cross-env中配置的变量都存在process.env中
const HTMLPlugin = require('html-webpack-plugin');
const webpack = require('webpack');

const config = {
target: "web",
entry: path.join(__dirname, 'src/index.js'), //入口文件
output: {
filename: "bundle.js", //输出文件名
path: path.join(__dirname, 'dist') //输出文件路径
},
module: {
rules: [
{
test: /\.vue$/,
loader: "vue-loader"
},
{
test: /\.css$/,
use: ['style-loader','css-loader']
},
{
test: /\.jsx$/,
loader: "babel-loader"
},
{
test: /\.styl$/,
use: [
'style-loader',
'css-loader',
{
loader: "postcss-loader",
options: {
sourceMap:true, //使用stylus-loader生成sourceMap
}
},
'stylus-loader' //处理.styl文件为css文件后返回给上级处理
]
},
{
test: /\.(gif|jpg|jpeg|png|svg)$/,
use: [
{
loader: "url-loader",
options: {
limit: 1024, //小于1024转换为base64直接放在js内容内
name:'[name].[ext]', //名字使用原来的文件名 ext为扩展名
}
}
]
}
]
},
plugins: [
// 添加VueLoaderPlugin,mode-loader
new VueLoaderPlugin(),
new webpack.DefinePlugin({
'process.env':{
NODE_ENV : isDev ? '"development"' : '"production"',
}
}),
new HTMLPlugin(),
],
};

/**
* 针对开发环境做以下配置
*/
if(isDev){
config.devtool= '#cheap-module-eval-source-map'; //在浏览器中调试查看es6代码
config.devServer = {
port: 8000,
host: '0.0.0.0',
overlay: {
error: true, //在网页上显示错误信息
},
open: false, //启动时自动打开浏览器
historyApiFallback: {}, //webpack未识别的路由重定向
//启动热加载
hot: true,
};

//热加载
config.plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
);

}

module.exports = config;
5、启动调试项目
1
npm run dev

1、定义模块的语法如下:
1
2
3
4
5
6
7
8
9
10
@NgModuel({
declarations: [], // 用到的组件,指令,管道
providers: [], // 依赖注入服务
imports: [], // 导入需要的模块
exports: [], // 导出的模块,跨模块交流
entryComponents: [] // 需提前编译好的模块
bootstrap: [] // 设置根组件

})
export class AppModule { }
2、其中最重要的属性是:
  1. declarations:声明本模块中拥有的视图类。Angular有三种视图类:组件、指令和管道。
  2. exports:declarations的子集,可用于其它模块的组件模板。
  3. imports:本模块声明的组件模板需要的类所在的其它模块。
  4. providers:服务的创建者,并加入到全局服务列表中,可用于应用任何部分。
  5. bootstrap:指定应用的主视图(称为根组件),它是所有其它视图的宿主。只有根模块才能设置bootstrap属性。

1、下载php 并解压
1
2
1、 wget http://au1.php.net/distributions/php-5.6.37.tar.gz
2、tar -zxf php-5.6.37.tar.gz
2、编译安装
1
2
3
4
1、yum install gcc libxml2 libxml2-devel
2、cd php-5.6.37
3、./configure --prefix=/usr/local/php --enable-fpm
4、make && make install
3、报错:make: *** [sapi/cli/php] Error 1
1
2
3
1、 ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/
2、 make ZEND_EXTRA_LIBS='-liconv'
3、 make ZEND_EXTRA_LIBS='-liconv' install
4、配置php.ini文件
1
cp php.ini-production /usr/local/php/lib/php.ini
5、配置php-fpm.conf文件
1
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
6、配置php-fpm启动文件
1
2
3
1、cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
2、chmod a+x /etc/init.d/php-fpm
3、/etc/init.d/php-fpm start
7、查看cgi启动状态
1
netstat -tunlp |grep 9000

2、安装nginx

1、安装依赖

1
2
3
4
yum install gcc-c++  
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl--devel

2、下载

1
2
3
4
1、cd /usr/local 
2、wget http://nginx.org/download/nginx-1.13.12.tar.gz
3、tar -zxf nginx-1.13.12.tar.gz
4、cd nginx-1.13.12

3、检查是否存在nginx 不存在则删除

1
2
1、find -name nginx
2、yum remove nginx

4、使用–prefix参数指定nginx安装的目录,make、make install安装

1
2
3
1、./configure  //默认安装在/usr/local/nginx   
2、make
3、make install

4、启动、重启、停止、强制关闭

1
2
3
4
1、/usr/local/nginx/sbin/nginx
2、 /usr/local/nginx/sbin/nginx –s reload
3、/usr/local/nginx/sbin/nginx –s stop
4、 pkill nginx

1、根据需要选择相应的安装文件,这里我们选择了对应的64位xampp-linux-x64-5.6.15-2-installer.run
1
2
1、 chmod -R 755 xampp-linux-1.8.3-5-installer.run
2、 ./xampp-linux-1.8.3-5-installer.run
2、安装完成后启动xampp服务
1
1、 /opt/lampp/lampp start
3、停用xampp服务
1
1、 /opt/lampp/lampp stop
4、启用和停用mysql
1
2
1、 /opt/lampp/lampp startmysql
2、 /opt/lampp/lampp stopmysql
5、xampp中的命令工具在/opt/lampp/bin/目录中
1
2
3
4
5
6
打开 ~/.bashrc 文件  
在最后一行加入
# PATH
export PATH=/opt/lampp/bin:$PATH
保存退出执行该文件中的命令
source ~/.bashrc
6、连接mysql
1
1、 mysql -uroot -p
7、远程连接phpmyadmin
1
2
3
4
5
6
7
8
9
10
11
12
13
1、 vi /opt/lampp/etc/extra/httpd-xampp.conf

修改为如下:

# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
# Require local
Order allow,deny
Allow from all
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
8、设置服务器目录权限
1
2
3
1、查看运行权限 ps -ef|grep httpd
2、修改用户和用户组: chown -R daemon:daemon /d2/server/nongyaojianguan/public_html/
3、修改文件夹权限:chmod -R 755 /d2/server/nongyaojianguan/public_html/

1
2
diskutil list
diskutil info /dev/disk0s3
1、输出结果结果中找到Volume UUID,如:
1
Volume UUID:              E45555B5-CD7D-36E9-8B14-A96B8BF97AAA
2、设置开机自动加载:
1
sudo vim /etc/fstab
3、在打开的文件末尾添加:
1
UUID=E45555B5-CD7D-36E9-8B14-A96B8BF97AAA /Users/johnson/UserData apfs auto
4、 :wq 保存并退出,重启生效。

1、将光盘镜像复制到文件夹下并挂载

1
2
mkdir /mnt/iso
mount -t iso9660 -o loop /root/yumISO/CentOS-7-x86_64-Everything-1804.iso /mnt/iso

2、配置开机自动挂载

1
2
vim /etc/fstab
添加:/root/yumISO/CentOS-7-x86_64-Everything-1804.iso /mnt/iso iso9660 loop 0 0

3、配置源

3.1 备份源

1
2
3
4
cd /etc/yum.repos.d/
mkdir repo_bak
mv *.repo repo_bak
vim CentOS-Base.repo

3.2 添加源配置(在repoCentOS-Base.repo文件中添加如下内容)

1
2
3
4
5
[CentOS7-Localsource]  
name=CentOS7
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0

3.3 生成本地yum缓存

1
2
3
yum clean
yum makecache
yum list

1、安装Node.js

1
https://nodejs.org/en/ 下载msi文件安装

2、安装openSDK1.8

1
2
3
4
5
1、访问:https://www.azul.com/downloads/zulu/zulu-windows/ 
2、下载:https://cdn.azul.com/zulu/bin/zulu8.30.0.1-jdk8.0.172-win_x64.zip
3、配置环境变量:新建 JAVA_HOME 值为:D:\Java\jdk
4、添加path: D:\Java\jdk
5、添加path: D:\Java\jdk\bin

3、更换国内npm镜像

1
2
1、写入配置文件: npm config set registry http://r.cnpmjs.org/
2、查看是否生效: npm config get registry

4、修改node目录用户组机安装Ionic及其Cordova

1
2
3
4
Mac下node目录:/usr/local/lib/node_modules
sudo chown -R johnson:staff node_modules
npm install -g ionic
npm install -g cordova

5、安装apache ant

1
2
3
4
1、下载地址: https://ant.apache.org/bindownload.cgi
2、解压到: D:\Java\apache-ant-1.10.3
3、添加环境变量:ANT_HOME 值为: D:\Java\apache-ant-1.10.3
4、添加path: %ANT_HOME%\bin

6、安装Android SDK

1
2
3
4
1、安装Android sdk到:D:\Java\Android\SDK
2、添加环境变量: ANDROID_HOME 值为: D:\Java\Android\SDK
3、添加path: %ANDROID_HOME%\tools
4、添加path: %ANDROID_HOME%\platform-tools

7、新建第一个测试项目

1
2
3
4
5
6
7
1、检查环境开发环境: ionic info
2、切换到项目目录
3、新建demo项目:ionic start demo
4、添加编译为Android版本: ionic cordova platform add android
5、编译:ionic build android
6、web端测试:ionic serve
7、运行在Android运行:ionic cordova run android

1、安装git与gcc

1、安装git与gcc
1
yum install mercurial git bzr subversion  gcc
2、 安装go语言环境
1
2
3
cd /usr/local/bin/
去官网https://golang.org/dl/下载最新安装包
tar -zxf go1.10.2.linux-amd64.tar.gz
3、添加环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
vi /etc/profile 
添加:
#go lang
export GOROOT=/usr/local/bin/go
export PATH=$PATH:$GOROOT/bin
export PATH=/usr/local/git/bin:$PATH

执行:
source /etc/profile

#查看是否安装成功
go version
go version go1.10.2 linux/amd64

2、安装Ngrok

1、下载
1
2
cd /usr/local/bin/ngrok
git clone https://github.com/tutumcloud/ngrok.git ngrok
2、生成证书
1
2
3
4
5
6
7
cd ngrok 
NGROK_DOMAIN=”data.i-sanya.com”
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
3、替换证书
1
2
3
cp base.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key
4、编译生成ngrokd和ngrok
1
make release-server release-client
5、启动Ngrok:
1
./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="data.i-sanya.com" -httpAddr=":8081" -httpsAddr=":8082"
6、编译生成ngrok(windows客户端):
1
2
GOOS=windows GOARCH=amd64 make release-client
成功会在bin目录下看到windows_amd64文件夹
7、windows端运行
1
2
3
4
5
6
7
创建一个文件,命名为ngrok.cfg,写入一下内容
server_addr: "你的域名:4443"
trust_host_root_certs: false

再创建一个启动bat文件,命名为start.bat
ngrok -config=ngrok.cfg -subdomain 映射本地的域名 本地的端口
如ngrok -config=ngrok.cfg -subdomain sb 8081
8、设置域名解析
1
添加两条A记录:data.i-sanya.com和*.data.i-sanya.com,指向所在的Ngrok服务器ip。
9、设置开机启动
1
2
3
4
vim /etc/init.d/ngrok
添加:
cd /usr/local/bin/ngrok/ngrok
./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="data.i-sanya.com" -httpAddr=":8081" -httpsAddr=":8082"

1、备份
1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
1
2
3
4
5
6
CentOS 5:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、生成缓存
1
yum makecache