从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:选择对应位数版本下载,推荐下载解压即可用的压缩版,养成好习惯解压文件放常用编程位置

扫描二维码关注公众号,回复: 9736362 查看本文章

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服务器

发布了64 篇原创文章 · 获赞 110 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/godot06/article/details/104676153
今日推荐