nginx1.9.11 php7.0.3 mysql5.7.11
* * * * *
linux為centos6.5,64位
nginx版本為:1.9.11(目前最新版本),官方網站:[http://nginx.org/](http://nginx.org/)
php版本為:7.0.3(目前最新版本),官方網站:[http://php.net](http://php.net)
mysql版本為:5.7.11,官方網站:[http://www.mysql.com/](http://www.mysql.com/)
* * * * *
一.環境準備
* * * * *
~~~
$ yum -y install gcc gcc-c++ autoconf automake libtool make cmake
$ yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
~~~
二.安裝nginx
創建用來運行nginx的用戶及組
我們創建一個新的用戶和用戶組來運行nginx,這樣可以把nginx和root分開,保證nginx不具備root權限。但是,我們并不希望nginx成為一個真實的可以登陸到遠程進行操作的用戶,所以,我們并不給它創建家目錄,在useradd的時候,用-M參數:
$ groupadd nginx
$ useradd -g nginx -M nginx
-g參數為nginx用戶指定了一個組。-M參數保證其不自動生成home目錄。
但通過上面的用戶創建之后,nginx用戶可以通過設置一個密碼登陸到服務器,這個不是我們想要的,我們禁用它的ssh登陸權限.禁止用戶登陸也很方便,只需要修改配置文件中有關用戶和用戶組的信息即可。
$ vi /etc/passwd
找到nginx,將后面的 /bin/bash 改為 /sbin/nologin 即可。
OK,用戶處理完畢。
編譯安裝Nginx
前面講了這么多,都還沒有說到重點,接下來我們來編譯安裝nginx。先進入nginx的官方網站,找到最新版本的tar.gz包的鏈接,復制鏈接,然后執行下面的動作:
~~~
$ wget http://nginx.org/download/nginx-1.9.11.tar.gz
$ tar -zxvf nginx-1.9.11.tar.gz
$ cd nginx-1.9.11
~~~
接下來我們需要執行./configure,不同的開發者有不同的習慣,對于剛入門的用戶而言,不是很喜歡麻煩的去進行配置,總是希望默認就是最好的,但是實際情況恰好相反,走上linux的道,就請熱愛折騰,既然選擇編譯安裝,就請熱愛make。
我希望把軟件安裝在/user/local下面,一個軟件一個目錄,在以后卸載的時候也比較方便清理。軟件的目錄也按照linux的目錄形式,用conf、etc、sbin、run等進行歸類管理,所以,我最終的./configure配置如下:
$ ./configure --prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/run/nginx.pid \
--with-http_ssl_module \
--user=nginx \
--group=nginx \
--with-pcre \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module
末尾三個是禁用nginx作為郵件代理服務器,我一般只用服務器作為網站或數據庫的服務器,所以這里把它們禁用掉,你如果想搭建的是郵件服務器,那么就應該去閱讀nginx搭建郵件服務器的教程。
你可以認真閱讀一下./configure的結果,看看有沒有報錯,或者加載的模塊是不是都齊全,如果一切OK,那么往下繼續,如果感覺不對,可以用./configure --help認真閱讀一下。
$ make
$ make install
make的地方有一個小技巧,如果服務器是雙核,可以通過-j2來指定用雙核進行編譯,-j4代表4核編譯。
安裝到這里就結束了,但是,安裝完可沒完事兒,nginx還沒有運行起來,你可以先去看看安裝的結果,并且運行nginx服務器:
$ cd /usr/local/nginx
$ ls
$ sbin/nginx
這樣就運行起來了,訪問你的服務器ip,看看能否看到ngin的歡迎頁面吧。(不要讓其他軟件占用80端口哦)默認情況下網頁文件放在/usr/local/nginx/html下,不符合我們的使用習慣,這個需要修改nginx的配置文件來修改,不過即使不修改,我們也是可以正常使用的,我們就不詳細解釋nginx的配置了。
nginx服務的載入
但是,make編譯安裝的軟件,可不像yum安裝的服務,我們熟悉的service命令并不起效,不然你用service nginx restart試試看。這是因為service調用/etc/ini.d/目錄下的程序完成,而該目錄下并不存在nginx這個程序。那么這個時候怎么重啟nginx呢?如下操作:
$ /usr/local/nginx/sbin/nginx -s reload
這個操作可以重新加載nginx的配置文件,相當于重啟(當配置文件出錯時,不會重啟)。如果一定要重啟整個服務,那只能通過殺死nginx進程,然后在運行程序了。
不過為了使用我們熟悉的service操作,這里提供一個[程序](http://pan.baidu.com/s/1jGZuqfO) ,放到/etc/init.d/目錄下,并執行:
$ chmod +x /etc/init.d/nginx
$ chkconfig --add nginx
$ chkconfig nginx on
這樣就可以通過service nginx restart等方法來操作nginx了。你可以把程序下載下來,簡單研究一下,如果你的nginx安裝路徑和我的不同,還要修改程序開頭的變量設置。
#### **PHP7的編譯安裝**
編譯安裝php7
在《 lamp升級php至php7 》一文中,我談到了如何在apache的服務器環境中升級php到7,而到nginx環境下,我們不再使用php的apxs模塊,而是直接使用php-fpm模塊。接下來,我們來嘗試編譯安裝php7。
安裝libxml2,curl,libjpeg,libpng,freetype,libmcrypt
~~~
yum install -y libxml2 libxml2-devel
yum -y install curl-devel
yum -y install libjpeg libjpeg-devel
yum -y install libpng libpng-devel
yum -y install freetype-devel
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -xzvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make && make install
~~~
先從官方網站下載php7,并且解壓,由于上面這篇文章已經有了相關步驟,就不做過多詳解:
$ wget http://cn2.php.net/distributions/php-7.0.3.tar.gz
$ tar -zxvf php-7.0.3.tar.gz
$ cd cd php-7.0.3
接下來要進行編譯前的配置,和上面一篇文章不同,我們不提供apxs參數,相反,我們提供php-fpm相關參數:
~~~
$ ./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-config-file-scan-dir=/usr/local/php7/etc/php.d \
--with-mcrypt=/usr/include \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache
~~~
配置無誤后執行:
$ make
$ make install
同樣可以使用-j2哦。如果安裝成功,OK,那么php7的安裝就OK了。
調整php配置
默認安裝好之后,你會發現/usr/local/php7/etc下面沒有php.ini文件,這個去哪里要呢?在php7的源碼安裝包都有。
$ cd /usr/src/php-7.0.0/
$ ls
可以看到有兩個php.ini-xxx文件,我們可以分別vi打開來看下,一個是產品模式,一個是開發模式。
~~~
$ cp php.ini-production /usr/local/php7/etc/php.ini
$ vi /usr/local/php7/etc/php.ini
~~~
可以看到php的配置。本文就不做過多的配置解釋了。
啟用php-fpm服務
上面我們在編譯php7的時候,已經將fpm模塊編譯了,那么接下來,我們要啟用php-fpm。但是默認情況下它的配置文件和服務都沒有啟用,所以要我們自己來搞定。
搞定配置文件:
$ cd /usr/local/php7/etc
$ mv php-fpm.conf.default php-fpm.conf
$ mv php-fpm.d/www.conf.defualt php-fpm.d/www.conf
php-fpm的具體配置我們也不做深入去詳解,因為在編譯之前./configure的時候,我們都已經確定了一些配置,比如運行fpm的用戶和用戶組之類的,所以默認配置應該不會存在路徑問題和權限問題。
搞定php-fpm的服務載入:
就像上面的nginx一樣,我們希望使用service php-fpm start|stop|restart這些操作來實現服務的重啟,但沒有像nginx那么復雜,php編譯好之后,給我們提供了一個php-fpm的程序,不需要我再編寫分享了。這個文件放在php編譯源碼目錄中:
$ cd /usr/src/php-7.0.0/sapi/fpm
$ ls
$ cp init.d.php-fpm /etc/init.d/php-fpm
$ chmod +x /etc/init.d/php-fpm
$ chkconfig --add php-fpm
$ chkconfig php-fpm on
通過上面這個操作,我們就可以使用 sevice php-fpm start 來啟用php-fpm了。用 ps -ef | grep php-fpm 看看進程吧。
nginx代理php實現訪問
通過上面的操作,nginx和php-fpm服務都被我們跑起來了,但是php-fpm走的是127.0.0.1:9000,外網是無法訪問的,而且我們也不可能直接通過php-fpm給外網提供服務,我們用nginx去代理9000端口執行php。
實際上這個過程只需要對nginx進行配置即可,fpm已經在后臺運行了,我們需要在nginx的配置文件中增加代理的規則,即可讓用戶在訪問80端口,請求php的時候,交由后端的fpm去執行,并返回結果。
$ vi /usr/local/nginx/conf/nginx.conf
如果你大致了解過nginx的配置,應該能夠很快分辨出這個配置文件里面的結構,并且知道server代表一個虛擬主機,要增加虛擬主機就再增加一個server,而且這個conf文件中也給出了例子。那么怎么代理php-fpm呢?找到:
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /script$fastcgi_script_name;
# include fastcgi_params;
#}
把前面的#注釋符號去掉,把script改為$document_root最終如下:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name;
include fastcgi_params;
}
這樣就OK了,重新載入nginx配置即可
$ service nginx reload
然后到/usr/local/nginx/html去寫一個php文檔,進行測試吧。
安裝mysql
下載
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
解壓
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
創建mysql目錄并把解壓后的mysql文件轉移過去
mkdir /usr/local/mysql
mv mysql-5.7.11-linux-glibc2.5-x86_64/* /usr/local/mysql/
3、在mysql下面創建data數據庫文件目錄
[root@localhost local]# mkdir mysql/data
4、創建mysql的用戶組和用戶,并對mysql目錄設置用戶組和用戶
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -rM mysql -g mysql
[root@localhost local]# cd mysql
[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
5、初始化mysql并啟動mysql服務
[root@localhost mysql]# cd /usr/local/mysql/bin
[root@localhost bin]# yum install libaio
Loading mirror speeds from cached hostfile
* base: mirrors.opencas.cn
* extras: mirrors.btte.net
* updates: mirrors.btte.net
包 libaio-0.3.107-10.el6.i686 已安裝并且是最新版本
無須任何處理
[root@localhost bin]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
2016-01-09 12:00:28 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-01-09 12:00:33 [WARNING] The bootstrap log isn't empty:
2016-01-09 12:00:33 [WARNING] 2016-01-09T04:00:29.262989Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2016-01-09T04:00:29.264643Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-01-09T04:00:29.264653Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
[root@localhost bin]# cd /usr/local/mysql/support-files
[root@localhost support-files]# mv my-default.cnf /etc/my.cnf
[root@localhost support-files]# ./mysql.server start
Starting MySQL. SUCCESS!
6、登錄mysql,此版本最新版不許空密碼登錄,實際上有個初始化密碼保存在/root/.mysql_secret這個文件里面,用這個密碼第一次登錄后,再修改密碼。因此先cat查看下初始化密碼(隨機的,每次安裝看到的密碼都不一樣):
[root@localhost ~]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2016-02-17 23:46:09
yp?was3j4R!p
利用初始化密碼:yp?was3j4R!p開始登錄mysql:
[root@localhost ~]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysql -uroot -p:yp?was3j4R!p
7、改mysql的root密碼,新密碼在此為'123456'
mysql> set password=password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)
8.把mysql加服務,設置開機自動啟動
[root@localhost mysql]# cp /usr/local/mysql/bin/mysql /usr/bin/
[root@localhost mysql]# mysql -uroot -p
Enter password:
[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@localhost mysql]# chkconfig --add mysql
[root@localhost mysql]# chkconfig --level 2345 mysql on
9.設置字符集為utf8
[root@localhost html]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
- 前言
- mysql8配置文件
- html
- css
- stylus安裝與自動編譯(轉)
- javascript
- 正則文件后綴名
- promise
- git
- 常用命令
- CentOS安裝Git服務器 Centos 6.4 + Git 1.8.2.2 + gitosis
- linux
- 常用命令
- 配置環境變量
- 壓縮解壓
- 開機啟動程序
- ssh使用幫助
- ssh安裝
- FTP安裝
- SCP傳輸文件
- java環境安裝(jdk)
- 第12講 FTP服務器配置
- composer安裝
- centos7,php7安裝redis
- 定時任務crontab
- mount /project: wrong fs type, bad option, bad superblock on project, missing codepage or helper program, or other error.
- mysql
- 第七十四課:設計SQL語句時常用的MySQL內置函數
- 第十一集 MySQL grant用戶授權
- 設置默認字符集為utf8
- mysql插入前判斷數據是否存在
- mysqldump導出數據
- 數據庫優化--mysql
- 插件
- 框架
- 前端框架
- 后端框架
- Laravel
- 安裝composer
- 安裝laravel
- artisan命令行工具
- 備注
- DB facade操作數據庫
- PhpStorm下Laravel代碼智能提示
- 使用查詢構造器操作數據庫
- 使用Eloquent ORM操作數據庫
- laravel時間轉時間戳
- laravel中的blade模板引擎之流程控制
- laravel中的blade模板引擎之基礎語法
- 模板中的ulr
- laravel之request請求
- laravel之response響應
- laravel之session操作
- laravel之middleware操作
- 表單操作
- 表單驗證
- model中一些注意事項
- 文件上傳及配置
- 發送郵件
- laravel緩存
- Laravel中的錯誤與日志
- Laravel中的隊列應用
- 關于laravel中表關系的一對一、一對多、多對一、多對多實踐(轉)
- 密碼生成及驗證
- laravel 使用驗證碼
- laravel中的用戶認證(Auth)
- laravel解決跨域及使用 Passport 服務做 API 認證
- Laravel 項目部署到云服務器(CentOS 7 系統)
- YII
- YII框架控制器之請求(request)處理
- YII框架控制器之響應(response)處理
- YII框架控制器之session處理
- YII框架控制器之cookie處理
- 視圖的創建及數據傳送
- 視圖的數據安全
- 視圖的布局
- 在視圖中顯示另我一個視圖
- 視圖的數據塊
- 數據模型--單表查詢
- 數據模型--單表刪除
- 數據模型--單表添加數據
- 數據模型--單表數據修改
- 數據模型--關聯查詢
- 類的延遲加載
- 類的映射機制
- 組件的延遲加載
- 數據緩存(增刪改查)
- 緩存數據的有效期設置
- 數據緩存中的依賴關系
- 片段緩存介紹
- 片段緩存設置
- 片斷緩存嵌套
- 頁面緩存
- http緩存
- yii2獲取字段及字段注釋
- yii2 修改默認的控制品和方法
- yii2 AccessControll配置解釋
- validate
- 什么是validate
- 入門
- 方法
- 屬性
- 高級
- 案例
- 規則
- phpexcel導出表格打開后發現不可取內容
- svn
- linux下搭建svn服務器
- MAC下SVN的常用命令
- nginx
- CentOS6.5下Nginx1.7.4安裝記錄(轉載)
- centos7.3下安裝lnmp
- CentOS 7.2 php7 編譯安裝 posix擴展
- 前后端分離nginx配置文件
- 綜合
- lnmp環境安裝(nginx1.9.11 php7.0.3 mysql5.7.11)
- grunt&seajs
- grunt安裝使用
- tp+layui使用
- 初始化配置
- IconFont 圖標
- php
- 時間比較
- 計算兩個日期相差天數
- php7新特性
- 非對稱加密解密
- php中對象數組互轉
- tp5
- 模型操作
- 驗證碼
- 環境變量ENV
- 軟刪除
- phpstudy中隱藏入口文件
- tp5.1
- facade
- 中間件
- python
- scrapy
- 常用命令
- centos7.3下安裝python3.7+scrapy
- pyinstaller打包遇到的問題
- python導出excel(含插入圖片,超鏈接)
- Centos7安裝python3+Selenium+chrome+chromedriver詳細
- selenium無界面chromedriver
- pandas數據分析庫
- pandas基礎Series,DataFrame
- pandas選擇數據
- pandas讀取及寫入文件
- pandas賦值及操作
- pandas處理丟失數據
- django
- django orm模型常用字段及參數
- 爬取視頻注意事項
- vue
- vue安裝使用常用操作
- webpack簡易使用教程及注意事項
- vue備忘錄
- vue-resource請求數據
- axios請求數據
- 父子組件之間傳值,獲取數據方法屬性
- 非父子組件傳值
- 路由編程式導航
- 路由的嵌套(父子路由)
- 使用vuex
- 最簡單的非模塊化的vue筆記(轉)
- vue中使用mock模擬api請求
- vue操作Vuex流程
- is和:is的區別
- vue2.6引入jquery和bootstrap
- nginx,vue部署前后端分離項目
- vue動態路由和get傳值
- C++
- 初始string
- 類屬性方法封裝
- C++類外定義
- 類外定義代碼演示
- 拷貝構造函數
- 構造函數
- 析構函數
- 構造函數初始化列表
- 析構函數代碼演示
- swoole
- swoole安裝
- centos7下安裝jdk安裝
- centos7 安裝hadoop
- IntelliJ IDEA 常用快捷鍵
- 編輯器配置
- Ij idea
- phpstorm 格式化 數組換行顯示
- phpstorm使用代碼片段Live Templates
- PHPstorm中格式化讓function的花括號跟在方法名后面,而不是另起一行
- JetBrains 各種IDE使用git技巧
- Java
- Map
- Student類
- MapTest
- ListTest
- springBoot處理http請求
- springboot熱部署
- idea編輯器基本設置和使用技巧
- 模式
- 裝飾者模式
- spring多個環境配置文件
- 讀取配置文件的兩種方式和引入configuration-processor
- SpringBoot整合Mybatis
- SpringBoot整合junit單元測試
- springboot整合springDataJPA
- SpringBoot整合Redis
- Spring-Data-JPA
- 主鍵生成策略
- 靜態代碼塊的形式創建createEntityManagerFactory
- jpa模型或實體類
- jpa增刪改查
- JPA的核心配置文件persistence.xml
- JPQL查詢
- jpa 學習筆記
- springdatajpa的操作
- 1.pom.xml引入坐標(依賴)
- 2.springDataJpa配置文件
- 3.創建數據庫表實體類并配置映射關系
- mybatis學習
- 0.創建maven工程,引入坐標
- 1.mybatis配置文件
- 2.創建實體類
- 3.創建dao(mapper)
- 4.創建mapper文件
- 5.測試
- OGNL表達式
- 局部變量和成員變量
- 面向對象三大特征
- 單元測試
- 注解
- 注解筆記
- TestCheck
- JDBC
- jdbc筆記
- jdbc示例
- JDBC添加記錄
- JDBC更新記錄
- JDBC刪除記錄
- JDBC執行DDL語句
- JDBC封裝類練習
- JDBC工具類
- JDBC事務筆記
- JDBC事務示例
- JDBC數據庫連接池
- JDBC數據庫連接池c3p0配置文件
- JDBC數據庫連接池c3p0示例代碼
- JDBC數據庫連接池druid配置文件
- JDBC數據庫連接池druid工具類
- JDBC數據庫連接池druid示例代碼
- JDBCTemplate筆記
- JDBCTemplate示例代碼
- JDBC封裝類Emp
- spring
- 自定義bean工廠
- spring中的bean
- 創建bean的三種方式之一
- 創建bean的三種方式之二
- 創建bean的三種方式之三
- bean的作用域
- bean對象的生命周期
- 依賴注入之一 構造函數注入
- 依賴注入之二 set方法注入
- 依賴注入之二 set方法注入(復雜類型/集合類型注入)
- IoC注解筆記及示例
- springMVC
- 1.搭建開發環境并測試
- 2.通過配置過濾器解決中文亂碼問題
- 3.參數綁定到實體類,集合類
- 4.自定義類型轉換器
- 5.常用注解
- 6.SpringMVC返回值類型及響應數據類型
- 6.1設置過濾靜態資源,防止被攔截
- 6.2引入json處理包jackson
- 7.文件上傳及解決跨域問題
- 8.自定義異常處理和自定義攔截器
- 9.SSM整合
- maven
- 解決依賴沖突的問題
- maven常用操作命令
- 使用nexus搭建私有服務器
- maven生命周期
- springboot-多模塊項目搭建
- springBoot+JPA結合操作案例
- 1.pom.xml
- 2.配置
- 3.實體類(domain)
- 4.repository(dao層)
- 5.測試1--簡單curd
- 6.測試2---復雜操作
- 7.動態查詢(排序分頁)
- 8.多表操作: 一對多
- 1.實體類
- 2.repository(dao層)
- 3.測試
- 0.說明
- 9.多表操作:多對多
- 0.說明
- 1.實體類
- 2.repository(dao層)
- 3.測試
- 10.對象導航查詢
- android安卓
- adb工具常用命令
- uiautomatorviewer工具使用
- aapt工具
- docker
- docker基礎命令
- 創建appium容器以及設置appium容器連接安卓模擬器
- docker commit創造鏡像
- 使用dockerfile創建docker鏡像
- 共享文件掛載
- windows7下利用docekr搭建nmp環境
- 解決dockerwindows下mysql掛載問題
- docker下配置laravel項目
- Vue2.5開發去哪兒網App 從零基礎入門到實戰項目
- 3-4計算屬性,方法,偵聽器
- 4-1組個使用中的細節點 is ref
- 3-1Vue實例
- 3-2Vue實例生命周期函數
- 3-3模板語法
- 3-5計算屬性的setter和getter
- 3-6Vue中的樣式綁定
- 3-7Vue中的條件渲染
- 3-8Vue中的列表渲染
- 4-2父子組件傳值
- 4-3組件參數校驗與非Props特性
- 4-4給組件綁定原生事件 native
- 4-5非父子組件間的傳值(Bus,總線,或稱為發布訂閱模式,或稱觀察者模式)
- 4-6Vue插槽(slot)
- 4-7作用域插槽
- 4-8動態組件與v-once指令 :is
- 5-1Vue中的CSS動畫原理
- 5-2在Vue中使用 animate.css 庫
- 5-3Vue中同時使用過渡和動畫
- 5-4Vue中的 Js 動畫與 Velocity.js 的結合
- 5-5Vue中多個元素或組件的過渡
- 5-6Vue中的列表過渡
- 5-7Vue中的動畫封裝
- 5-8本章小節
- 微信小程序
- 微信小程序引用第三方組件(以安裝vant為例)
- 微信小程序云開發--云存儲
- 微信公眾號
- 微信公眾號服務器配置
- workerman GatewayWorker
- gateway worker工作原理
- Ubuntu18.04 開機自動運行某個程序/命令等
- 極客專屬的接口協作管理工具api
- vue開發環境配置跨域,一步到位
- nginx配置跨域請求
- h5開發
- swipper
- vue樣式穿透
- vue2.6+配置文件vue.config.js
- css偽類/偽元素一覽表
- 穿梭框單選demo
- vue中keep-alive與activated
- vue2.6配置跨域,代理轉發
- vue中的keep-alive
- 前端兼容
- 富文本
- axios封裝
- egg.js接收請求的方式
- eggjs擴展helper
- eggjs中間件使用
- 驗證或校驗正則大全
- eggjs中cookie
- eggjs路由跳轉
- eggjs中session
- 頁面元素拖拽效果
- webstorm配置typescript
- node中對mysql封裝成同步操作
- node對mssql封裝成同步操作
- php獲取無限分級最末級的id
- egg
- egg配置第三方中間件
- 開啟服務器壓縮功能
- egg-view-nunjucks模板原樣輸出html
- cheerio模塊的安裝使用方法
- mongoos增,刪,改,查
- js--中文轉拼音
- 選項功能組合操作
- entity
- dubbo
- 1.centos下快速安裝單機Zookeeper
- 2.安裝最新版的dubbo管控臺
- dubbo筆記
- 3.dubbo與springboot整合
- rabbitmq
- MQ的優勢和劣勢及應用條件
- 配置文件
- rabbitmq消息可靠性
- 消費端限流
- TTL
- 死信隊列
- 延遲隊列
- 應用問題:消息可靠性保障
- 應用問題:消息冪等性保障
- xmlns
- docker安裝elasticsearch
- springboot整合elasticsearch
- Ribbon負載均衡策略
- 在非空目錄下創建git倉庫并把目錄下文件推送到遠端
- 4種常用的rest方式
- springcloud服務熔斷
- springcloud服務降級
- linux下自動備份mysql(適用版本5.7.28)
- netty
- ServerBootstrap
- option與childOption
- channelOption常量
- handler()和childHandler()
- localAddress()和remoteAddress()
- 將byteBuffer轉為string
- Netty在線學習手冊
- protobuf
- mac下安裝protobuf
- protobuf3語法
- netty+protobuf結合使用案例1
- 原型設計流程圖思維導圖工具
- NIO
- NIO快速入門server端
- NIO快速入門client端
- NIO群聊系統Server端
- NIO群聊系統Client端
- 傳統方式文件傳輸-server端
- 傳統方式文件傳輸-client端
- NIO方式傳輸文件-server
- NIO方式傳輸文件-client
- 線程
- 線程池
- thymeleaf來構建郵件模板
- 人人開源 renren-fast-vue 安裝出錯解決辦法
- log4j.properties
- logging.properties
- stream().map().sorted().collect(Collectors.toList())
- 基于java的BCC(異或校驗)
- 若依(ruoyi-cloud)新建子模塊
- jenkins自動部署
- yii自動加載自定義文件
- yii2 response響應配置
- vue項目打包成docker鏡像
- docker運行mysql
- 免費的docker鏡像服務器
- docker打包springboot項目為鏡像
- docker運行redis
- ruoyi-vue 頭像
- docker安裝portainer
- docker部署mysql8(完善版)