問問大家都怎麼結合Linux開發的

來源:互聯網
上載者:User
項目是部署在Linux伺服器上面的,開發過程也提倡使用Linux環境來運行程式進行測試,別到最後上線發現問題追蹤起來才知道是在Windows下測試沒考慮到Linux的問題,當然這種可能比較少,我遇到過的經典問題就是檔案名稱大小寫沒注意導致部署到Linux後說找不到檔案,還有就是檔案目錄讀寫權限未設定導致一些上傳功能不能運作等,那是好久好久以前的事了,現在都在Linux下運行程式,所以都能發現注意

我想瞭解下大家部署在Linux上的項目,自己開發過程中是怎麼一個方式去做呢?
1.首先我瞭解到一些人是自己的工作機上用wamp之類的在windows上搭建apache/nginx環境來跑自己的測試程式,確定功能開發完成後提交到公司的Linux測試機作進一步測試,最後部署上線

2.如果說在自己的工作機上開發時就得用國linux環境測試,那要麼在windows下敲代碼,敲完後把檔案傳到linux虛擬機器,建一個host指向linux,就這樣訪問這個host測試,我正是用這種方式,不知道是不是大部分phper都用了這種方式,還是依然在windows下運行


我糾結的第一個問題是:個人開發過程在linux下跑程式測試的必要性有多大?因為跑linux虛擬機器又要耗點記憶體,機器更卡了一點,黑心老闆最坑爹的情況下只給你1GB實體記憶體咋辦,雖然我們公司標配4G記憶體,我是8G,但我也同情2G的同事這樣耗著跑程式.在linux下跑個人測試的好處是否遠遠大於降低機器運行速度的代價呢?貌似不行,某些同事還是偷偷跑回windows下做個人測試了

第二個問題,如果大部分phper都在linux下跑個人開發這一環節,是在windows下寫好檔案傳過去,還是在linux下敲代碼?在windows下寫的話,一個功能下來牽連到五六個檔案,每在一個檔案寫完後都操作一次檔案上傳?而如果在linux下寫代碼,我雖然意識到熟用各種vim命令的情況下確實敲代碼非快,但有時候貌似也不那麼方便,我在維護一個類,想快速定位到我想要的那個方法,但是不太記得拼字了,這時候除了能通過字元搜尋來找到那個方法名,卻不能像IDE那樣有一個Class的方法列表直接雙擊跳轉到那一行定焦啊,所以只在linux下用vim我暫時做不到,不知道大家是不是真的這樣,也聽說過有人這樣,貌似為數不多

我當然是在windows下開發再傳到linux啟動並執行,在這裡又想瞭解一下大家是怎麼解決這個檔案傳遞問題,其實方法是很多的,古老的samba,ftp/sftp,ssh,而我則是用mount的,我嘗試過改一下就操作一次FTP傳遞指定檔案,切換視窗太頻繁又麻煩.
於是現在是共用windows下的D:/dev/project目錄並命名為project
建立一個windows使用者test,密碼test
在linux裡mkdir /var/www/project
mount -t cifs -o user=test,pass=test,rw,uid=linux使用者的uid,gid=linux群組的gid //192.168.1.物理機/project /var/www/project
當然/etc/rc.local也寫了這個掛載命令
這樣就實現了在windows下修改檔案,linux馬上同步過去,不知道大家也是不是這樣玩,還是真的用ftp一次次拖檔案,缺點是要求物理機稍加一點硬體效能吧,不過其實就算這樣做了也未必容易發現讀寫權限造成的問題,就是貼近了線上環境更加安心開發了


回複討論(解決方案)

圍觀 學習

直接在windows開發啊,你知道的windows出現的一些問題 避免就好了,windows開發直接svn,測試環境可以部署到linux上,直接svn up就可以用了。

在Linux下直接寫檔案.如果伺服器是Linux 用戶端是Win 那麼就用FTP.

window開發,通過svn,git 提交到伺服器即可,在window下開發的時候,需要注意window和linux下的大小寫,許可權等一系列的問題,如果是租用的伺服器或者vps,則可以通過ftp上傳window下檔案到伺服器。

這樣看上去以上回複的朋友們都是在Windows下敲代碼然後直接在Windows下運行
測試好後就通過FTP或svn的方式交到服務端運行是嗎?

由於線上伺服器的程式不允許隨意修改,所以這一點上不可能讓隨便一個開發人員提交SVN就將檔案傳到遠程伺服器導致線上發生變化,任何開發人員開發完東西都只能提交SVN勾檔案到內網統一測試伺服器,測試完後由技術經理審核確認無誤再單獨打包到線上,所以我們不是這樣玩的

但這個關係並不大,我在乎的是有多少人是將自己敲好的代碼直接放Linux下啟動並執行,如果你是這樣啟動並執行話,你真的是用vim嗎?用vim在代碼導航問題上又怎麼解決呢,好像Windows的IDE操作更方便快捷的樣子哦,再者vim又不能重構變數

Linux下也有可用的IDE開發工具並且比在Win下運行得還要暢順. 這個具體部署方式的話就要看你們的工作環境來說了,不是千篇一律的. 在伺服器 VIM 是有時候迫不得已而已...誰想用那個VIM來敲代碼...

Linux下也有可用的IDE開發工具並且比在Win下運行得還要暢順. 這個具體部署方式的話就要看你們的工作環境來說了,不是千篇一律的. 在伺服器 VIM 是有時候迫不得已而已...誰想用那個VIM來敲代碼...
我知道linux下有案頭環境並且有Eclipse等東西,,確實沒試過這一方面,日後接觸一下看看

VIM方面從古時候就聽說編輯速度根本就可以超越Windows下的編輯器,主要是能熟用各種命令和快速鍵吧,要求相對高,要練到滾瓜爛熟才行,總體上來說我比較認同的,但最近發現要像IDE那樣查看一個方法列表並且跳轉到指定的方法體內就沒辦法.一個好久不動的類突然要去維護那個方法在第幾行都不知道,非得在windows下看看行數再回去改,所以開始質疑VIM的速度真的比windows下的編輯器或IDE快麼,或者僅僅也只是這些某一小部分不夠方便而已?

如今有多少phper在linux下玩VIM呢?

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.