從0開始 獨立完成企業級Java電商網站開發(服務端)筆記-windows系統開發環境安裝與配置

本章主要記錄從零到獨立完成企業級Java電商網站開發(服務端)系統環境和編程工具配置的過程以及注意點。

 

1.Java環境-JDK安裝

參照:Java基礎1-環境篇:JDK安裝與環境變量配置https://blog.csdn.net/godot06/article/details/104378253

 

2.Web服務器-Tomcat安裝

2.1 簡介:Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試Java Web 程序的首選。

2.2下載地址:https://tomcat.apache.org/

2.3下載版本:Tomcat 7 https://tomcat.apache.org/download-70.cgi

Tips:選擇對應位數版本下載,推薦下載解壓即可用的壓縮版,養成好習慣解壓文件放常用編程位置

 

2.4環境配置:如同JDK配置一樣,在計算機→屬性→高級系統設置→高級→環境變量-新建CATALINA_HOME,變量值是解壓後Tomcat電腦所存放的位置的根目錄。

2.5配置UTF-8字符集

原因:我們很多編程工具和開發環境都是外國友商研發的,很多情況下對中文的支持並不是完全兼容,需要我們在項目開始就統一好程序使用的字符集,防止中文亂碼。

步驟:Tomcat所在目錄-conf-編輯server.xml文件-在文件中找到配置8080默認端口的位置,在XML節點末尾增加URLEncoding="UTF-8",如圖。

2.6啓動/測試Tomcat

啓動:Tomcat安裝目錄-bin-startup.bat

關閉:Tomcat安裝目錄-bin-shutdown.bat

測試:在瀏覽器輸入localhost:8080 或 127.0.0.1:8080 看到Tomcat的頁面就是服務開啓成功了

Tips:看到Startup in xxxx ms就是啓動成功了。Tomcat一定要是jdk java環境配置好之後才能啓動的。

 

3.Maven(後面爲了項目兼容性,使用了3.0.5版本)

3.1簡介:Apache Maven Project -- Apache優秀的開源項目,是Java項目的構建和管理工具。

a.Maven可以方便的創建項目。基於acchetype可以創建多種類型的java項目。

b.Maven倉庫對jar包(artifact)進行統一管理,避免jar文件重複拷貝和版本衝突。

c.團隊開發,Maven管理項目的Release和Snapshot版本,方便多模塊(Module)項目的各模塊之間快速集成。

3.2下載地址:http://maven.apache.org/download.cgi

Maven 3.6.3直達下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip

3.3配置Maven環境變量

解壓下載的maven壓縮包(養成好習慣,放到你設想好的專門用於存放編程環境的文件夾中)配置過程如JDK和Tomcat路徑一致:計算機→屬性→高級系統設置→高級→環境變量-

a.新建MAVEN_HOME,變量值是下載解壓maven所在的計算機目錄。

b.在系統的path環境變量中增加${maven安裝位置}\bin路徑:%MAVEN_HOME%\bin

3.4 測試maven:打開cmd,輸入mvn -version,輸出maven的版本信息即安裝成功。

3.5 MAVEN的常用命令

a.清除命令:mvn clean

b.編譯命令:mvn compile

c.打包命令:mvn package

d.跳過單元測試:mvn clean package -Dmaven.test.skip=true (這個使用頻率高)

 

4.nginx

4.1簡介:一款輕量級Web服務器,也是一款反向代理服務器

a.可直接支持Rails和PHP的程序

b.可作爲HTTP反向代理服務器

c.作爲負載均衡服務器

d.作爲郵件代理服務器

e.幫助實現前端動靜分離

--配置域名轉發,但是一定要配置系統的host

4.2下載地址:http://nginx.org/en/download.html

穩定版1.16.1解壓即可用:http://nginx.org/download/nginx-1.16.1.zip

4.3nginx啓動

解壓下載文件(解壓文件要養成歸置對應位置的習慣),解壓後等到的目錄裏面有nginx.exe,雙擊即可啓動nginx並在後臺運行

4.4測試nginx

上面點擊nginx.exe啓動之後,用瀏覽器輸入127.0.0.1或localhost,看到nginx頁面說明nginx啓動成功

4.5本地域名僞裝代理:

即一些域名還沒有申請或沒有域名未解析或服務器還未搭建好,項目代碼中需要用域名,這個時候可以用nginx代理IP給域名,如127.0.0.1 www.smaluv.com,這個會在輸入www.smaluv.com時轉到127.0.0.1這個IP服務中。

在C盤的C:\Windows\System32\drivers\etc,找到hosts文件,右鍵管理員權限記事本打開,在文件最後面增加一行:127.0.0.1 www.smaluv.com

4.6nginx配置(重點)

a.主配置文件修改:nginx所在目錄-conf,用類記事本工具打開nginx.conf文件,在HTTPS server上一行添加 include vhost/*.conf,如圖。(意思是引入當下目錄下的vhost文件中所有以.conf結尾的配置文件)

b.在conf同級目錄下,新建vhost文件夾

c.然後進入vhost文件夾中新建相關配置文件,如image圖片配置文件

c1 新建圖片域名配置image.smaluv.com,裏面內容如下:

server {
    listen 80; #監聽端口
    autoindex off; #自動創建首頁的開關
    server_name image.imooc.com; #要測試使用的域名
    access_log D:/development_eve/nginx_access.log combined; #日誌打印位置,自己可改位置.這裏的斜槓/不能用wins下的反斜槓\
    index index.html index.htm index.jsp index.php;
    #error_page 404 /404.html;
    if ( $query_string ~* ".*[\;'\<\>].*" ){
        return 404;
    }

    location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* {
        deny all;
    }

    location / {
        root D:\development_eve\ftpHostFile\img; #圖片轉發地址,即圖片存放地址
        add_header Access-Control-Allow-Origin *;
    }
}

c2 代理域名host配置:代理域名image.imooc.com在系統hosts文件配置,即打開C:\Windows\System32\drivers\etc\hosts文件,最後面新增配置: 127.0.0.1 image.smaluv.com

c3 驗證.conf文件配置是否正確,在nginx安裝目錄打開命令控制窗口或命令窗口進入nginx安裝目錄,輸入: nginx.exe -t 驗證配置文件是否書寫正確

c4 重啓nginx,通過訪問iamge.smaluv.com驗證測試配置的圖片代理地址是否有效(我們提前在D:\development_eve\ftpHostFile\img下放置一張圖片,如tmp.jpg,看使用瀏覽器打開image.imooc.com是否可以顯示圖片)

重啓nginx: nginx.exe -g reload (記得是在nginx安裝目錄下打開命令)

測試image.smaluv.com的hosts配置是否生效:瀏覽器打開image.smaluv.com

瀏覽器測試圖片域名是否可以打開圖片:http://image.smaluv.com/tmp.jpg

d IP端口轉發,這裏轉發到tomcat服務端口上,這樣和發佈到tomcat的項目包聯動了。

d1 同理是要在nginx安裝目錄中的conf下vhost文件夾新增配置文件:tomcat.smaluv.com.conf

d2 配置文件內容如下:

server {
    listen 80;
    autoindex on;
    server_name tomcat.smaluv.com;
    access_log D:/development_eve/nginx_access.log combined;
    index index.html index.htm index.jsp index.php;
    #error_page 404 /404.html;
    if ( $query_string ~* ".*[\;'\<\>].*" ){
        return 404;
    }
    location / {
        proxy_pass http://127.0.0.1:8080; #端口轉發的代理
        add_header Access-Control-Allow-Origin *;
    }
}

d3 配置hosts:127.0.0.1 tomcat.smaluv.com

d4 測試nginx配置:nginx.exe -t

重啓nginx:nginx.exe -s reload

Tips:1.上面配置了圖片目錄文件夾轉發和服務端轉發示例,我們後期可以根據自己需要增加配置自己想要配置的文件夾(如文件/視頻等)或服務端口。

2.autoindex off/on:索引窮舉是開是關要跟自己項目的實際需求出發,區別如下:

配置中的autoindex 這是自動建索引的開關,如果是autoindex off 這轉發代理的文件地址下所有的文件不是都列出來,而是autoindex on的話則是都顯示出來

 

5 數據庫mysql

關係型數據庫管理系統,分爲社區版免費和商業版,體積小數度快,總體成本低,開放源碼,一般中小型網站的開發都選擇MYSQL作爲網站數據庫。

5.1 下載地址:選擇MySQL Community Server社區版下載,建議下載安裝版.msi

社區版:https://dev.mysql.com/downloads/mysql/

直達地址:https://dev.mysql.com/downloads/windows/installer/8.0.html

https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-8.0.19.0.msi

5.2 安裝

基本都是下一步標準配置就好,配置root數據庫密碼,遠程權限一般不給root用戶開,比較危險,最好安裝好後要記住mysql安裝的目錄,後續可能要更改mysq的my.ini配置文件

5.3 配置字符集-utf-8,防止中文亂碼

找到mysql安裝目錄中的my.ini文件,查找default-character-set和character-set-server節點,修改成utf8

 

5.4 mysql基本操作

a 查看目前mysql用戶:select user,host,password from mysql.user

b 修改root密碼:set password for root@localhost=password('your_set_password')

c 命令登錄mysql: mysql -u root -p

d 查看是否有匿名數據庫用戶(即用戶名爲空的): select user,host from mysql.user

e 刪除匿名用戶:delete from mysql.user where user=''

f 插入mysql用戶:insert into mysql.user(Host,User,Password) values ("localhost","newusername",password("yourpassword"));

g 使操作生效:flush privileges

h 給帳號所有權限:grant all privileges on yourdatabase.* to yourusername@localhost identified by "yourpassword"

i 給帳號部分權限:grant select,insert,update on yourdatabase.* to yourusername@localhost identified by "yourpassword"

grant select,insert,update on yourdatabase.a_table_name to [email protected] identified by "yourpassword" (給數據中的某個表的某個人的權限)

 

6 Git版本控制

6.1 簡介:Git(分佈式版本控制系統)是一個開源的分佈式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。

github

6.2 下載:可以從Git官網直接下載安裝程序,然後按默認選項安裝即可

官網:https://git-scm.com/

直達地址:https://git-scm.com/download/win

6.3 基本配置

a配置用戶名:git config --global user.name 'yourname'

b配置郵箱:git config --global user.email '[email protected]'

c生成公鑰ssh key:這個是必須的,用於標識你的機器身份,無論使用github,oschina等代碼管理平臺(需要去平臺註冊賬號),都需要在相應的個人中心添加ssh key

c1:ssh-keygen -t rsa -C "[email protected]"

c2:然後一路回車,不需要輸入任何密碼之類,生成ssh key pair

c3:ssh-add ~/.ssh/id_rsa

c4:執行上述步驟後查看生成的sshkey

cat -/.ssh/id_rsa.pub

查看生產的祕鑰 cat ~/.ssh (裏面也有地址,可以進入文件夾內查看),我們要用的就是公鑰,然後把裏面的值都複製來,然後填充到git倉庫中。

c5:手動複製生成的公鑰,本教程使用oachina的gitlab爲例,github添加公鑰的做法類似。用剛剛命令添加的用戶郵箱註冊oschaina的gitlab賬號(https://gitlab.com/),然後登陸gitlab,點擊右上角的個人資料,進入個人ssh公鑰配置,把剛剛複製的公鑰添加進去,確認提交。

Tips:

1.因爲Git是分佈式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。你也許會擔心,如果有人故意冒充別人怎麼辦?這個不必擔心,首先我們相信大家都是善良無知的羣衆,其次,真的有冒充的也是有辦法可查的。

2.git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。

 

6.4 其他基本配置

a避免中文亂碼:git config --global gui.encoding utf-8

b避免git status顯示中文文件名亂碼:git config --global core.quotepath off

c讓git不要管Windows/Unix換行符轉換的事:git config --global core.ignorecase false

dWindows還需要配置:git config --global core.autocrlf false

 

6.5基本使用示例-遠程建立倉庫,本地拉取和上傳文件到遠程倉庫(這個需要gitlab或github創建遠程倉庫)

 

1.線上建立項目(換github演示一下,gitlab也類似)

如:

2.本地通過Clone with SSH拉取到電腦(SSH方式在配置好之後,不需要驗證賬號和密碼,而另一種https方式每次操作需要驗證賬號和密碼)

拉取項目 git clone ssh-git地址([email protected]:smaluv/mymall-fe.git)

3.但是第一拉取的時候,如果你沒有執行6.2的C3生成配置密鑰的步驟,會報沒有權限的錯誤,即本地和遠程沒有建立驗證,所以會有一個公鑰建立的操作,這個ssh key建立好之後就可以愉快的玩耍了。詳細可以查看6.2的C3生成配置密鑰的步驟。

3.1 配置祕鑰:使用命令 ssh-keygen -t rsa -C "[email protected]"

 

查看生產的祕鑰 cat ~/.ssh (裏面也有地址,可以進入文件夾內查看),我們要用的就是公鑰,然後把裏面的值都複製來,然後填充到git倉庫中。

3.2 將公鑰文件值填充到git線上倉庫中:最後的allow記得勾選,因爲我們要寫入文件,不勾選,意味着只能讀取文件。

 

Tips:配置密鑰也可參考(詳細可參照https://blog.csdn.net/u013778905/article/details/83501204 或者 https://www.imooc.com/article/72092?block_id=tuijian_wz

3.3 添加成功後,重新git clone 拉取一下,就可以看到成功啦。(Tips 此時拉取的項目存放位置可以指定,像我就拉取到shop_onlineclass目錄下,方法就是先cd 到要存放的路徑下,然後在拉取項目)

Git同步

項目同步的方式其實有兩種,第一種就是上面說的直接拉取線上的項目到本地來.第二種就是本地新建項目後,在push到線上去,如下:

4.本地倉庫管理線上git倉庫

進入到項目存放文件的目錄中(進入項目的根目錄)

4.1 初始化項目 git init

執行完成之後,文件中會多出一個.git文件,這意味着該文件是一個git可識別的文件,即給git作了標識;

4.2 將本地文件和遠程git管理通過ssh地址

git remote add origin [email protected] ssh地址

4.3 在將遠程的代碼拉下本地作比較

git pull origin master (其中origin代表是遠程服務器 master代表是分支)

4.4 拉取遠程代碼後,需要本地git去對比下遠程和本地代碼的區別,判斷當前本地代碼文件的狀態

git status

可以看到,本地git對比狀態檢查到了一個新增的test.html文件(遠程git中沒有,需要我們提交)

4.5 提交文件(add .提交所有文件, add +指定文件名,應該可以提交指定的文件吧-待測試)

git add .

4.6 正式提交緩存

git commit -am '本次提交的一些說明' -am意思提交全部並加上註釋

4.7 正式提交緩存到線上

git push --set-upstream origin master

4.8 提交完成之後,我們再去線上git看下記錄,就可以看看我們提交的代碼記錄了。

5.一些額外的配置,如git_ignore,用來告訴git一些文件不需要同步(如一些sublime一些的自動生成的緩存文件,nodejs的一些包)

(不一定需要跟這個一樣使用命令生成和編輯,這裏只是爲了讓自己熟悉命令操作語句)

5.1 在git項目根目錄下生成.gitignore文件

vim .gitignore

5.2 在.gitnore文件新增ignore的一些規則,被匹配到的文件就不會被git追蹤並上傳

.DS_Store ---sublime生成一些緩存,不需要追蹤

/node_modules/ ---nodejs的npm生成的一些包,內存挺大的有幾百兆,沒必要上傳,需要的時候線上生成下就好了

/dist/ ---打包之後的文件,也是沒必要同步追蹤的

5.3 分支管理

一般開發時,我們不在master分支上開發,master只作爲可讀分支,要開發時卻換到版本分支上,如下:

git checkout -b mymall-1.0

其中checkout表示切換分支,-b 是表示當前分支沒有建立,立馬建立一個分支 mymall_1.0 新建的分支 ------新建一個分支mymall_1.0並切換

查看項目的分支 git branch,其中帶*號表示當前所處的分支;

切換checkout分支後表示我們所有的項目文件都在改分支下操作,即不在master分支下操作。

6.終極提交,項目在提交代碼時,一定要先回到項目根目錄,然後執行git操作;

其中,當存在空文件夾時,git是不會識別這些空文件夾的,只有等到空文件夾中有文件時,纔會同步檢測到;(git只追蹤文件和文件的父目錄)

 

7總結 項目常用的命令(步驟)

7.1 先切換到分支

7.2 拉取線上最新代碼和本地修改的情況比對

git merge origin master //多人開發提交前一定要先合併分支

git pull origin master 跟新本地同遠程的文件庫,防止代碼混亂,提交失敗

7.3 比對

git status

7.4 提交添加

git add .

7.5 提交信息備註

git commit -m "想要加的信息"

7.6 正式提交 git push

在第一次提交(或第一次提交給分支時,用git push --set-upstream origin master(or分支branch)

git push -u orgin master/分支 提交文件(git push 即可)

還有一般一些重大版本提交會打tag(git push提交完之後)

git tag tag-dev-initial(tag名稱)

git push origin tag-dev-initial

一些基本的命令語句:

命令終端清除歷史命令:cls; --清屏

ls 查看當前文件夾中的文件

cd ../回到上一層

cd 進入到某一個目錄中

rm -rf + mymall-fe 刪除文件夾 rm移除 -rf 移除文件 mymall-fe文件夾名

rm filename 刪除指定的單個文件--rm test.html

mkdir + filename 新建文件夾 make dir 文件夾+filename

vim fileanme.txt 創建文件

vim test.html可以生成一個文件並編輯該文件 按i是文件插入操作,輸入完成後按esc推出插入模式,並按' :wq '保存退出;

ls -al 顯示全部的文件,這樣不會忽視一些隱藏文件

ls 顯示文件,但是一些隱藏文件不出出現,因爲linux下這文件不會被發現

cat filename 通過cat可以查看文件的內容

 

 

在Windows下使用git時出現 warning: LF will be replaced by CRLF in xxx.

由於Linux中的換行符是LF,而Windows中的換行符是CRLF,如果想用Windows下的git管理來自Linux的文本文件,git會默認將LF轉換成CRLF,併發出煩人的warning。解決辦法如下:

進入目標倉庫的最上層目錄執行:

git config core.autocrlf false

部分博文中提到先將.git文件刪掉(rm -rf .git)將.git文件夾刪掉然後再用git config –global core.autocrlf false對本地的所有git倉庫都執行禁止自動轉換的命令,然後重建該倉庫,這樣未免牽扯太大,而且直接刪掉.git會丟失以前的commits。驚醒新人;

tips:該wraning問題不大,不修改問題也不大。

 

conmit的時候出現Run git config --global user.email "[email protected]" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository.

這個配置問題,說明之前的.config文件配置用戶名和郵箱錯誤,只需要在當前下重新配置一下就好

git config --global user.email "[email protected]"

git config --global user.name "smaluv"

然後重新執行git commit -am '第一次修改'

 

 

常用的幾個命令:

 

git clone ***********

git add . 提交文件添加

git commit -m "想要加的信息"

git pull origin master 跟新本地同遠程的文件庫,防止代碼混亂,提交失敗

git push -u orgin master 提交文件

 

提交出現另外如打標籤的窗口

兩次 commit 需要合併(merge),可以將這個看作是給這個merge 打標註(vim編輯)

輸入 i 進行編輯模式

按esc 退出編輯模式

輸入 :wp 進行保存並退出 --->: 是指令的開始符,w是保存,q是退出

不想打任何備註可以直接在進入這個界面的時候直接 :q 就可以退出

--------------------------------------

額外補充

windows綠色版的ftp服務器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章