書接上一回,小白和老菜聊到代碼的版本控制和接口文檔
小白:為什么要做版本控制,我不弄版本控制不也完成了項目了嗎?要做版本控制不是很麻煩,又要安裝服務又要提交代碼,代碼又不是多人用開發,還要寫文檔......
老菜:這就是你這些小白的思維,只看眼前不思長遠。對於任何一個項目,你都不可能絕對的說它永遠都是一個小項目;而項目完成后,同時也面臨着不停的變更與修改,你不可能永遠記得這個項目任何細節,隨着時間的流逝,很多關鍵點與細節在你的記憶中就會變得越來越模糊,到時要重新修改時你就頭大了。我之前有位同事,一開始也是這樣想,沒文檔沒代碼版本管理,而軟件的功能相對也比較復雜,項目完成上線幾個月后,想要大改時作為開發人員卻無法動手,自己都看不懂自己寫的代碼了。另外,有可能你寫了一些功能,進行修改后想要回滾時卻發現沒有舊版本,只能重寫。
養成良好的文檔編寫習慣,對於一個程序員來說也是非常重要的,你不可能永遠呆在只有一個開發人員的公司里,在與人合作時,特別是前后端開發人員配合時,如果沒有文檔交流起來是一件非常麻煩的事情,人越多浪費在溝通的時間就越多。而且隨着項目開發時間越長,接口越多,項目維護起來也會越復雜。沒有清晰的文檔,會給項目的增加各種不應該出現的不穩定性。況且寫一個接口文檔也就一兩分鍾的事情,舉手之勞,何樂而不為呢?
養成良好的代碼管理與文檔編寫習慣,對於一位程序員素質修養來說,也是非常必要的,同樣兩位水平相當的程序員去面試,代碼編寫規范,懂得代碼管理和熟練編寫文檔的肯定占優。
代碼版本控制大家常用的有git或svn,對於能開源的代碼來說,直接放在github上就可以了,其他的話,就需要自己搭建svn服務器。(python服務器環境搭建(2)——安裝相關軟件 與 python服務器環境搭建(3)——參數配置 有svn服務器創建與發布的說明)
而接口文檔管理,也有不少開源的系統存在,比如wiki、shodoc等系統。
小白:好的,我回去安裝配置一下,盡量讓自己規范起來。
小白回去家后,就開始忙碌了起來,之前已安裝好虛擬服務器了,所以可以按網上教程直接配置svn。
配置SVN
進入svn管理目錄:cd /data/svn
創建svn項:svnadmin create simple
進入剛創建的svn項:cd /data/svn/simple/conf
修改/data/svn/simple/conf文件夾下的配置文件
將authz文件替換成下面內容:
[simple:/]
admin = rw
simple是svn當前倉庫項的模塊名稱,每個svn的這個名稱都是唯一的,不然可能無法登錄使用,admin是我們創建的svn登錄賬號
將password文件替換成下面內容:
[users]
admin = 123456
這里設置賬號對應的密碼
將svnserve.conf文件替換成下面內容:
[general] anon-access = none auth-access = write password-db = passwd authz-db = authz
如果你的svn服務未啟動,可以輸入下面命令:/usr/bin/svnserve -d -r /data/svn (有時連不上,kill掉svn進程重新啟動就可以了)
svn服務器端的操作就完成了。
下面來進行本地操作截圖:(可以下載TortoiseSVN-1.9.4.27285-x64-svn-1.9.4.msi進行使用)
安裝完svn客戶端工具后,右鍵菜單會出現SVN Checkout項,可以進行檢出svn
輸入虛擬服務器地址,點擊OK進行檢出操作
輸入前面設置好的賬號與密碼,完成檢出操作
然后將源碼放到該文件夾中(或者直接檢出到你的源碼文件夾也行)
在剛檢出的源碼文件夾中點擊右鍵,選擇提交代碼
全選所有文件,並填寫好說明(在做源碼版本控制管理時,最好養成編寫說明的習慣,方便以后有問題時進行查詢,不然版本多時要一個個對比查找是一件非常麻煩的事情)
整個SVN源碼管理就操作完成了。
安裝ShowDoc接口文檔管理系統
showdoc接口文檔是PHP開發的,所以需要安裝php環境
php環境大家可以直接使用官方的安裝方法,直接使用yum進行安裝,方法也比較簡單:https://www.showdoc.cc/php?page_id=14595
當然也可以使用下面編譯方式進行安裝,我在CentOS7.0使用下面編譯方式安裝時會遇到 --enable-opcache=no 問題,估計是操作系統版本與php兼容問題引起的,得升級系統,或使用官方方法安裝就好
安裝PHP相關包
yum install -y libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel autoconf gcc gcc-c++
進入源碼包存儲路徑(cd /usr/local/src/),並下載相關源碼安裝包
cd /usr/local/src/ wget http://cn2.php.net/distributions/php-5.6.36.tar.gz wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz wget https://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz wget https://jaist.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
編譯安裝libmcrypt
cd /usr/local/src/ tar -zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure --prefix=/usr/local/related/libmcrypt make && make install
編譯安裝mhash
cd /usr/local/src/ tar -zxvf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9 ./configure --prefix=/usr/local/related/mhash make && make install
設置編譯mcrypt所需環境變量(下面命令要一條條執行)
export LD_LIBRARY_PATH=/usr/local/related/libmcrypt/lib:/usr/local/related/mhash/lib export LDFLAGS="-L/usr/local/related/mhash/lib -I/usr/local/related/mhash/include/" export CFLAGS="-I/usr/local/related/mhash/include/"
編譯安裝mcrypt
cd /usr/local/src/ tar -zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 ./configure --prefix=/usr/local/related/mcrypt --with-libmcrypt-prefix=/usr/local/related/libmcrypt make && make install
編譯安裝php
cd /usr/local/src/ tar -zxvf php-5.6.36.tar.gz cd php-5.6.36 ./buildconf --force ./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --enable-mysqlnd --with-mysqli=shared,mysqlnd --with-mysql=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --with-mcrypt=/usr/local/related/libmcrypt --disable-fileinfo make clean && make && make install
復制相關配置文件與啟動文件
cp php.ini-production /usr/local/php/etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
創建運行php用戶和組
groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/php -M php
設置PHP日志目錄和php-fpm的運行進程ID文件(php-fpm.sock)目錄
groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
修改session的目錄配置
mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php
設置PHP開機啟動
chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on
啟動php服務
service php-fpm start
shosdoc的安裝可以根據官方文檔說明(http://www.showdoc.cc/web/#/help?page_id=32238)進行安裝
登錄https://github.com/star7th/showdoc 下載源碼包
然后將源碼包上傳到 /data/www/ 目錄並解壓到當前目錄
添加nginx配置:showdoc.conf
cd /usr/local/nginx/conf/vhost/
vi showdoc.conf
在vi編輯器中添加下面代碼
server { listen 8080; charset utf-8; server_name 127.0.0.1; root /data/www/showdoc-master; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } location / { index index.php index.html; client_max_body_size 1000m; } access_log /data/logs/nginx/showdoc_access.log main; }
重啟nginx:/usr/local/nginx/sbin/nginx -s reload
在瀏覽器中輸入:http://xxx:8080/ 就可以訪問showdoc了
點擊OK進行安裝
點擊右上角注冊賬號
注冊完賬號,就可以創建項目進行接口文檔管理了
進入項目后,點擊左上角的+ 創建接口文檔
填寫完標題,點擊插入API接口模板,就有現成的模板模式出來,簡單修改一下一份完整的接口文檔就寫好了,快的話寫一個接口文檔也就不到一分鍾時間。我們也可以根據自己的需要創建自己的接口文檔模板。
保存后就可以看到簡潔又漂亮的接口文檔了
版權聲明:本文原創發表於 博客園,作者為 AllEmpty 本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。
python開發QQ群:669058475(本群已滿)、733466321(可以加2群) 作者博客:http://www.cnblogs.com/EmptyFS/