SpringBoot[一]创建SpringBoot应用


前言

来实习之前一直是做Java的,现在有一个个人博客还没有写完,准备推翻了重搞一下,正好趁机学一下Spring Boot这个玩意,前几天建好了表,今天开始学习Spring Boot框架的使用

安装spring boot 的命令行工具

系统是macOS,用的是homebrew,因此安装命令行的命令都是mac的
brew tap pivotal/tap
brew install springboot

创建Spring项目

使用该命令创建spring init --build maven --groupId lee.blog --version 0.0.1-SNAPSHOT --java-version 1.8 --dependencies web --name blog blog
创建好的目录如下所示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
blog/
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
├── main
│   ├── java
│   │   └── lee
│   │   └── blog
│   │   └── blog
│   │   └── BlogApplication.java
│   └── resources
│   ├── application.properties
│   ├── static
│   └── templates
└── test
└── java
└── lee
└── blog
└── blog
└── BlogApplicationTests.java

只需要用IDE打开项目即可进行开发

运行应用

只需要找到BlogApplication点击绿色小箭头即可运行应用

添加Spring Boot 开发工具

在pom.xml里添加依赖

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>LATEST</version>
</dependency>

这个开发工具一大好处是支持热更新,开启热更新功能只需要在修改pom.xml文件中的plugin部分

1
2
3
4
5
6
7
8
9
    <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- fork:如果没有该配置,这个devtools不会起作用,即应用不会restart -->
<fork>true</fork>
</configuration>
</plugin>
</plugins>`

另外,如果是用的是Intellig IDEA的话,还需要打开IDEA的自动编译代码功能。

(313) 758-8670

GitPro读书笔记


(586) 784-1896前言

虽然打大一的时候,就知道了git这样的一个版本管理工具,然后在现代的IDE中也是一直在用,但是在IDE中就一直都是用upate和push的操作,而且连为什么在push前要commit都不知道,有几次在和同学一起进行协作开发的时候遇到了冲突都不知道应该如何解决,更不用提分支的使用了,最近来到公司后,之前那点对git的理解根本不够用了,都不知道怎么拉远程分支,也不知道用命令行怎么使用git,正好最近忙完一个项目,得空闲下来看看书,就看了GitPro这本书,提升一下自己的git技能。

Git的版本控制

Git是一个版本控制管理工具,在Git的管理下,你的项目随着你的commit会有一个个的版本(Version),每一个Version都是由Git记录的文件快照组成,如果文件发生了变化,则记录一个人新的文件快照,如果一个文件没有发生变化,则记录一个指向之前文件的链接

Git中的三个目录与四种状态

在Git管理的项目中,一共会有三个目录,分别是 工作目录,暂存区,Git目录(仓库)。工作目录可以简单理解为你平常写代码时直接会修改的地方,也就是你IDE打开的那个目录。暂存区可以理解为暂存你提交的更改的地方,暂存区会存放你修改后提交了的文件快照。Git目录,就是你项目中的.git那个目录,你提交更新后,会将暂存区中的文件快照永久转储到git目录中。注意,这些都是你本地的目录,如果你使用Github等这一的服务,你在commit提交更新后,暂存区文件转储到git目录,你还需要将更新push到远程服务器,才算是完成本次提交。

Git管理的项目中的文件会存在四种状态,分别是untracked(未追踪),unmodified(未修改),modified(已修改),staged(已暂存), untracked(未追踪)就是说Git并不管理该文件,不会去记录这个文件的变化。unmodified(未修改)就是说该文件在Git的管理下,与上一次提交的版本没有发生过变化。modified(已修改)就很明显,该文件与上一次提交的版本相比较发生了变化。staged(已暂存)就是指该文件快照已经放入到了暂存区,如果这个时候提交更新,就会把这些文件的变化提交上去,暂存区的文件提交更新后,就会回到unmodified(未修改)状态。

(832) 780-2671Git中经常使用的操作

想要查看当前项目的状态时只要使用git Status
开始追踪一个文件 或 将一个文件添加到暂存区 git add filename
取消暂存一个文件 git reset HEAD filename
查看已暂存的文件作出的修改 git diff
查看已暂存的文件和上次提交时的快照之间的不同 git diff --cached
提交一次更新 git commit
修改最后一次提交 git commit --amend
取消对文件的修改(将文件恢复到上一次提交的状态)git checkout -- filename

小结

以上都是git在本地仓库的使用,但一般我们开发时,都会使用的远程仓库,远程仓库一般都是在服务器上的git目录

远程仓库的使用

可以使用git remote add命令添加一个新的远程仓库,同时也可以使用git fetch命令从服务器抓取最新的数据到本地,如果想要更新远程仓库,只需要使用git push [remote name] [local-branch-name]就可以将更新推送到远程仓库,一般刚刚clone下来的项目,远程仓库叫做origin,本地分支叫做master。

git分支的使用

分支可谓是git的最大的亮点了,由于git采用文件快照的方式记录项目版本的变化,因此创建、删除、合并分支对于git都是很简单的事情。其实在git中,每一次commit都会创建一个commit对象,该对象记录了本次更新的信息,同时指向一颗树,树中记录了本次的文件快照

当你有多次提交时,这些commit之间的关系如下图所示

而git中所谓的分支,其实是一个指向某一次commit对象的指针

当你的项目中有多个分支,并且提交了许多次后,你的项目可能变得像下图这样,HEAD指针用来指示当前所在分支,master分支和testing分支已经有了不同的提交

-创建一个分支 git checkout -b branchName
-切换到某一个分支 git checkout branchname

704-514-9550

Vim使用记录


(425) 478-7800前言

由于在公司必须使用开发机来进行开发,虽然可以通过SFTP或者samba的方式在本机进行远程开发,但是这种方式由于网络的速度限制导致IDE经常出现卡顿,尤其是PHPStrom启动时index会花费很长时间,而且经常出现假死,文件更新也非常慢,唉 谁让自己倒霉入职的时候没有发到mac,只好现在配置Vim来使用Vim开发

由于之前也没有用过Vim,所以专门开一篇文章来记录一下自己学习Vim的过程

本文准备大致分为,配置部分,插件部分,快捷键部分

配置部分

配置部分没什么好说的,记录一下自己的Vim配置文件,路径是~/.vimrc

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
set nocompatible

" Specify a directory for plugins
" - For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')

"语法检查
Plug 'w0rp/ale'

"资源浏览
Plug 'scrooloose/nerdtree'

"底部状态条
Plug 'itchyny/lightline.vim'

"代码高亮
Plug 'sheerun/vim-polyglot'

"代码块引擎
Plug 'SirVer/ultisnips'

"代码块模版库
Plug 'honza/vim-snippets'

"所有标签共享NERDTree
Plug 'jistr/vim-nerdtree-tabs'

"括号匹配
Plug 'tpope/vim-surround'

"You Complete Me
"Plug 'Valloric/YouCompleteMe'

" Initialize plugin system
call plug#end()

" NERDTree config
map <F2> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
" 显示行号
let NERDTreeShowLineNumbers=1
let NERDTreeAutoCenter=1
" 是否显示隐藏文件
let NERDTreeShowHidden=1
" 设置宽度
let NERDTreeWinSize=31
" 在终端启动vim时,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略一下文件的显示
let NERDTreeIgnore=['\.pyc','\~$','\.swp']

" 插入匹配括号
inoremap ( ()<LEFT>
inoremap [ []<LEFT>
inoremap { {}<LEFT>

" 按退格键时判断当前光标前一个字符,如果是左括号,则删除对应的右括号以及括号中间的内容
function! RemovePairs()
let l:line = getline(".")
let l:previous_char = l:line[col(".")-1] " 取得当前光标前一个字符

if index(["(", "[", "{"], l:previous_char) != -1
let l:original_pos = getpos(".")
execute "normal %"
let l:new_pos = getpos(".")

" 如果没有匹配的右括号
if l:original_pos == l:new_pos
execute "normal! a<BS>"
return
end

let l:line2 = getline(".")
if len(l:line2) == col(".")
" 如果右括号是当前行最后一个字符
execute "normal! v%xa"
else
" 如果右括号不是当前行最后一个字符
execute "normal! v%xi"
end

else
execute "normal! a<BS>"
end
endfunction
" 用退格键删除一个左括号时同时删除对应的右括号
inoremap <BS> <ESC>:call RemovePairs()<CR>a

" 输入一个字符时,如果下一个字符也是括号,则删除它,避免出现重复字符
function! RemoveNextDoubleChar(char)
let l:line = getline(".")
let l:next_char = l:line[col(".")] " 取得当前光标后一个字符

if a:char == l:next_char
execute "normal! l"
else
execute "normal! i" . a:char . ""
end
endfunction
inoremap ) <ESC>:call RemoveNextDoubleChar(')')<CR>a
inoremap ] <ESC>:call RemoveNextDoubleChar(']')<CR>a
inoremap } <ESC>:call RemoveNextDoubleChar('}')<CR>a

"YouCompleteMe智能补全工具
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
" 不显示开启vim时检查ycm_extra_conf文件的信息
let g:ycm_confirm_extra_conf = 0
" 开启基于tag的补全,可以在这之后添加需要的标签路径
let g:ycm_collect_identifiers_from_tags_files = 1
" 开启语义补全
let g:ycm_seed_identifiers_with_syntax = 1
"注释和字符串中的文字也会被收入补全
let g:ycm_collect_identifiers_from_comments_and_strings = 0
" 输入第 2 个字符开始补全
let g:ycm_min_num_of_chars_for_completion= 2
" 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_cache_omnifunc=0
"在注释输入中也能补全
let g:ycm_complete_in_comments = 1
"在字符串输入中也能补全
let g:ycm_complete_in_strings = 1
"定义快捷健补全
let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
" 设置在下面几种格式的文件上屏蔽ycm
let g:ycm_filetype_blacklist = {
\ 'tagbar' : 1,
\ 'qf' : 1,
\ 'notes' : 1,
\ 'markdown' : 1,
\ 'unite' : 1,
\ 'text' : 1,
\ 'vimwiki' : 1,
\ 'pandoc' : 1,
\ 'infolog' : 1,
\ 'mail' : 1
\}
"设置关健字触发补全
let g:ycm_semantic_triggers = {
\ 'c' : ['->', '.', ' ', '(', '[', '&'],
\ 'objc' : ['->', '.', 're!\[[_a-zA-Z]+\w*\s', 're!^\s*[^\W\d]\w*\s',
\ 're!\[.*\]\s'],
\ 'ocaml' : ['.', '#'],
\ 'cpp,objcpp' : ['->', '.', '::'],
\ 'perl' : ['->'],
\ 'php' : ['->', '::'],
\ 'cs,java,javascript,typescript,d,python,perl6,scala,vb,elixir,go' : ['.'],
\ 'ruby' : ['.', '::'],
\ 'lua' : ['.', ':'],
\ 'erlang' : [':'],
\ }
let g:ycm_cache_omnifunc = 1
let g:ycm_use_ultisnips_completer = 1
"定义函数跟踪快捷健
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>

syntax on
"显示行号
set number
"取消折行
set nowrap
"屏幕显示不全时,一个字符一个字符的扩展显示,更加平滑
set sidescroll=1
"在底部显示信息(行号等)
set ruler
"立刻查找,输入一个字符后马上开始搜索
set incsearch
"显示当前输入的指令
set showcmd
"不现实匹配括号
set noshowmatch
"搜索时高粱结果
set hlsearch
"在左下角显示当前的模式
set noshowmode
"搜索是忽略大小写
set ignorecase
"智能识别搜索是是否需要大小写
set smartcase
"设置一个tab等于4列
set tabstop=4
"设置>>和<<缩进为4列
set shiftwidth=4
"敲入tab时实际占有的列数
set softtabstop=4
"tab自动转换为空格
set expandtab
"将当前行号设为0
set relativenumber
"当屏幕还剩3行时就开始滚动
set scrolloff=3
"让退格键正常工作
set backspace=indent,eol,start
"自动缩进
set autoindent
"删除tab产生的空格时,一次删除4个空格
set softtabstop=4
"设置特殊字符的显示效果
"set list listchars=eol:¬,tab:▸\ ,trail:.,
"文件被外部修改,VIM自动重载
set autoread
"总是显示状态行
set laststatus=2
"颜色模式设置为256色
set t_Co=256

"编程字体 /github.com/tonsky/FiraCode/wiki

插件部分

插件部分主要记录一下自己使用的Vim插件

6622964539快捷键部分

快捷键部分记录自己经常用的快捷键

ctrl w h/j/k/l : 切换到左下上右窗口
gt gT : 切换到后\前一个标签

命令
:sp : 水平分割当前窗口
:vs : 垂直分割当前窗口

2895169919

CentOS-7编译安装Nginx


前言

安装好了YII框架,却发现不能在其他电脑上通过ip地址访问,查了一下资料想要通过其他电脑访问需要配制一个web服务器,可以选择Apache或者Nginx,这里我选择了后者,毕竟公司也是用的Nginx,正好可以熟悉一下

720-351-2944下载源码

打开Nginx的官网,找到下载地址,复制下载链接,在服务器上通过wget命令down下来并解压

1
2
wget /nginx.org/download/nginx-1.15.2.tar.gz
tar xzf nginx-1.15.2.tar.gz

配置

1
2
3
4
5
6
7
8
9
10
11
12
./configure \
--prefix=/home/leehaoze/environment/nginx \
--conf-path=/home/leehaoze/conf/nginx/nginx.conf \
--error-log-path=/home/leehaoze/log/nginx/error.log \
--http-log-path=/home/leehaoze/log/nginx/access.log \
--pid-path=/home/leehaoze/log/nginx/nginx.pid \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-pcre \
--with-http_realip_module \
--with-http_sub_module

编译安装

make & make install

3196946531

(715) 699-7831


最近准备折腾一下Vim,先按一个最新的完整版Vim。

下载Vim源码

git clone /github.com/vim/vim.git

安装依赖

1
yum install python-devel python3-devel ruby-devel lua-devel libX11-devel gtk-devel gtk2-devel gtk3-devel ncurses-devel

4026230235删除旧版本Vim

1
yum remove vim-* -y

828-827-8865配置

1
./configure --prefix=/home/leehaoze/tools/vim --with-features=huge --enable-fail-if-missing --enable-pythoninterp --enable-rubyinterp --enable-luainterp --with-python-config-dir=/usr/lib/python2.7/config/ --enable-cscope

#编译
make & make install

#添加环境变量
将vim/bin 添加到环境变量
bin/vim /etc/bashrc
source /etc/bashrc

#运行
vim

more

(940) 727-8122


准备安一些东西,才发现自己的服务器没有装git,这里边装边记录一下

9856353152下载源代码

从/github.com/git/git/releases获取最新版本的下载地址
wget /github.com/git/git/archive/v2.19.0-rc0.tar.gz

infighter解压文件

tar -xzvf v2.19.0-rc0.tar.gz

910-844-4948准备依赖

1
2
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker

(757) 216-8513卸载之前的git(如果之前有安装的git或者系统自带的)

yum remove git

编译安装

1
2
3
cd git-2.19.0-rc0/
make prefix=/usr/local/git all
make prefix=/usr/local/git install

613-224-6774添加环境变量

1
2
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc

volatilization完成

more

CentOS-7编译安装php


想在自己服务器上配制成在公司的样子,php环境在一个目录里,不和系统做关联,这里尝试编译安装一次php

5754588140下载PHP

wget /cn2.php.net/distributions/php-7.2.9.tar.bz2
下载完成后解压安装包
bzip2 -dk php-7.2.9.tar.bz2
tar xf php-7.2.9.tar
cd php-7.2.9

准备编译环境

yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

1
2
3
4
5
6
7
yum install gcc automake autoconf libtool make –y
yum install gcc gcc-c++ glibc –y
yum install libmcrypt-devel mhash-devel libxslt-devel –y
yum install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel –y
yum install zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel –y
yum install ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel -y
yum install krb5 krb5-devel libidn libidn-devel openssl openssl-devel -y

编译

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
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

--prefix是安装目录
--with-config-file-path是php.ini的目录

配置完成后,使用make命令编译

1
2
make
make install

配置

-复制压缩包目录下的php.ini-development到之前设置的配置文件目录
cp php.ini-development /home/leehaoze/conf/php/php.ini
-复制快捷方式
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
-复制php-fpm配置文件(在php安装目录下)
cp etc/php-fpm.conf.default etc/php-fpm.conf
-复制www配置文件
cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf

(480) 821-9336修改配置文件

-php.ini

1
2
error_log = /home/leehaoze/log/php/php_errors.log
date.timezone = "Asia/Shanghai"

启动

/etc/init.d/php-fpm start

more

CentOS-7安装mysql


CentOS把默认的数据库换成MariaDB了,有时候还是需要用MySQL,所以记录一下如何在CentOS 7的环境下安装MySQL

660-548-1922添加YUM源

1
2
wget '/dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

安装MySQL

1
sudo yum install mysql-community-server

启动服务

1
sudo systemctl start mysqld

查看初始密码

1
sudo grep 'temporary password' /var/log/mysqld.log

dyphone修改密码

1
2
set global validate_password_policy=0;/修改安全策略为Low,只需要设置长度为8位的密码即可,不大小写特殊字符要求
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

more

8327742396


一直以为curl就是用来下载东西的,知道今天在组里看文档看到可以用curl命令发送post信息,才想到去看一下相关的资料,curl可以发送网络请求,然后提取返回的信息输出到屏幕上。

5404415427最简单用法

curl直接跟上网址,就可以输出网址的源代码
curl www.baidu.com

1
2
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=/s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=/www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=/www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=/news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=/www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=/map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=/v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=/tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=/www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="/www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=/www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=/home.baidu.com>关于百度</a> <a href=/ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=/www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=/jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=/www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>

3018865594-o 和 -L参数

-o参数可以让你把输出内容保存下来,如:curl -o save.html www.baidu.com
-L 参数则是让curl支持自动跳转

-i参数

-i 参数可以让curl输出时显示详细的response头信息
-I 参数则是只显示response头信息

516-721-9041-v参数

-v参数则是显示完整的http通信过程,包含端口号和request头信息

-X参数

-X参数可以让你发送GET或者POST信息,比如:
curl -X POST www.baidu.com

478-926-2850

(208) 946-1450


macOS 自带了Apache+PHP的环境,只需要简单配置一下就可以

(229) 373-1456配置Apache

sudo vim /private/etc/apache2/httpd.conf
将LoadModule php7_module libexec/apache2/libphp7.so取消注释

Apache相关命令

1
2
3
sudo apachectl start
sudo apachectl stop
sudo apachectl restart

启动Apache,打开127.0.0.1 显示 It Works!

部署路径位置

Apache的部署路径位于`/资源库/WebServer/Documents/下

测试

在目录下新建info.php,修改文件内容为

1
<html><body><h1><?php phpinfo();?></h1></body></html>

在浏览器打开127.0.0.1/info.php看是否显示内容

compulsatorily

Proudly powered by Hexo and Theme by startlingly
本站访客数人次
© 2018 Leehaoze