nginx-maven-配置文件关键点,nginx-maven-关键点
nginx-maven-配置文件关键点,nginx-maven-关键点
一 关于nginx操作
启动:双击nginx-0.8.52/nginx.exe文件。在命令行环境下进入naginx目录,输入nginx命令操作nginx启动,停止
启动:start nginx 停止:nginx -s stop (快速退出nginx) 退出:nginx -s quit (彻底退出nginx) 重启 nginx -s reload(修改了配置重启)关于配置文件 配置文件:nginx/conf 配置文件和路经: nginx-0.8.52\conf\nginx.conf nginx.conf 是nginx主配置文件 通过include 其它配置文件到nginx.conf简化配置文件
1.路径映射
配置方法: 在 server {}内设置 location 虚拟路径{ alias 实际路径; }示例 server { listen 80; server_name localhost; charset utf-8;
location /doc/{ alias F:/TDDOWNLOAD/sitemesh-2.4.1/docs/; } }
2.请求转到其它进程处理
配置方法: 在 server {}内设置 location 虚拟路径{ proxy_pass 服务器 }示例: location /examples/{ proxy_pass http://localhost:8081; }
location ~ \.jsp$ { proxy_pass http://localhost:8081; }
note: 可以将容器内的不变的交由http服务器处理 示例: location ~\.(htm|html|gif|jpg|jpeg|png|bmp|ico|css|js|txt)$ { root E:/server/tomcat-6/webapps/; expires 24h; }
3.不允许某个id访问
配置方法: 在 server {}内设置 deny ip;# 拒接访问的ip allow ip;#允许访问ip示例: server { listen 80; server_name localhost; deny 127.0.0.1; }
note: 没有设ip,应该谁都可以访问
4.gzip
配置方法: 在 http {}内设置 gzip on; gzip_min_length 1024; gzip_buffers 4 8k; gzip_types text/plain application/x-javascript text/css text/html application/xml text/javascript;5.expires 指令来控制其在浏览器的缓存,以减少不必要的请求
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; }附件: nginx的完整配置
6.服务器集群
配置方法: upstream 集群名称{ server 服务器名称1; server 服务器名称2; }示例: upstream mao{ server 127.0.0.1:8080 ; server 127.0.0.1:8081 ; }
//使用集群地方 location /examples/{ proxy_pass http://集群名称; }
7 nginx 集群有5种权重分配方式
1、轮询(默认) 2、weight 3、ip_hash 4、fair(第三方) 5、url_hash(第三方)二 maven 配置 关键理解
查找依赖关系的查询网站http://mvnrepository.com/
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 描述这个POM文件遵从哪个版本的项目描述符. <modelVersion>4.0.0</modelVersion>针对一个项目的普遍唯一识别符 <groupId>my-app</groupId>
指定的标识符是唯一的 artifact 代表的是被制作或者被一个project应用的组件 <artifactId>my-app</artifactId>
这个项目生产出来的artifact 类型 <packaging>jar</packaging>
当前项目产生的artifact的当前版本 <version>1.0-SNAPSHOT</version>
当前项目的全称 <name>my-app</name> 当前项目的主页的URL <url>http://maven.apache.org</url>
当前pom的变量 <properties> <org.springframework.version>3.8.1</org.springframework.version><!--声明变量的值--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--build编码--> </properties>
当前项目相关的依赖
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.0.2.RELEASE</version> <version>${org.springframework.version}</version><!--引用pom变量--> </dependency> </dependencies>排除模型指定的依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> <exclusions> <!-- Exclude Commons Logging in favor of SLF4j --> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency>maven 常用的plugin
1.编译器插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> <showWarnings>true</showWarnings> </configuration> </plugin>2.打包插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <warName>mvc-basic</warName> </configuration> </plugin>
3.jetty插件 <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8081</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin>
3.cargo 部署插件 <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> </plugin>
1.设置本地数据仓库目录
设置 <localRepository>仓库路径</localRepository> <localRepository>F:/my lib/m2/repositor/</localRepository>note: 默认在${user.dir}/.m2/repository
1 指定远程服务器仓库,或者私服仓库
<repositories> <repository> <id>maven-net-cn</id> <name>Maven China Mirror</name> <url>http://maven.net.cn/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories><pluginRepositories> <pluginRepository> <id>maven-net-cn</id> <name>Maven China Mirror</name> <url>http://maven.net.cn/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories>
2.配置代理
设置<proxies>下的<proxy></proxy> 配置代理为了从私服下载jar3.设置jar到本地数据库
进入要安装jar所在目录 mvn install:install-file -DgroupId=包名 -DartifactId=项目名 -Dversion=版本号 -Dpackaging=jar -Dfile=jar文件所在路径4 maven pom继承
pom 标记 groupId 项目组名称 artifactId 制品名 version 版本号 name pom的名称 artifactid和groupId标识pom的唯一项目pom继承 <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-module</artifactId> <version>1</version> <packaging>pom</packaging> <modules> <module>server</module>-->子项目的目录(这种写法表表示子项目必须在父目录内) <module>../server</module>-->子项目的目录(这种写法表示同级子项目) </modules> <!--参数--> <properties> <spring.version>3.0.5.RELEASE</spring.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--build编码--> </properties> </project>
子项目pom继承父pom <project> <parent> <groupId>com.mycompany.app</groupId><--父pom的groupId <artifactId>my-app</artifactId><--父pom的artifactId <version>1</version> <relativePath>../parent/pom.xml</relativePath><--对于同级的pom要指定位置 </parent> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-server</artifactId> <version>1</version> </project>
参考 :http://liureying.blog.163.com/blog/static/61513520109422034631/?suggestedreading&wumii OnlineUserUtils
5 指定远程服务器仓库,或者私服仓库
<repositories> <repository> <id>maven-net-cn</id> <name>Maven China Mirror</name> <url>http://maven.net.cn/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven-net-cn</id> <name>Maven China Mirror</name> <url>http://maven.net.cn/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories>6 Maven常用插件使用说明之deploy
Maven的deploy插件用于把Maven自动构建生成的版本发布到中央代理仓库如Nexus服务器上,也能把第三方依赖库(如Jar包)或一个独立的Jar包直接发布到中央代理仓库供大家共享使用。下面介绍deploy插件的具体用法。假设Nexus服务器已成功安装,Nexus控制台URL为http://199.3.5.164:8081/nexus。
1、自动构建并发布到Nexus服务器(假设发布仓库为releases)
1)修改工程POM文件,增加以下内容:
<distributionManagement>
<repository>
<id>releases</id>
<name>Internal Releases</name>
<url>http://199.3.5.164:8081/nexus/content/repositories/releases</url>
</repository>
</distributionManagement>
其中url对应Nexus服务器的Releases仓库路径,repository的id必须与第3)点中的server的id一致。用于发布的仓库必须为Hosted类型。
2)修改Nexus服务器的Releases仓库属性。
进入Nexus控制台,用admin登录。点开“Views/Repositories”选“Repositories”,在Repositories列表中选择Releases,点configuration,Deployment Policy默认为“Disable Redeploy”,点击修改为“Allow Redeploy”并保存。
3)修改用户目录下的settings.xml文件。
settings.xml文件路径为${user.home}/.m2或%{m2_home}/conf/。Windows7系统目录为C:/Users/用户名/.m2。
找到<servers>,然后修改信息如下:
<servers>
<server>
<id>releases</id>
<username>deployment</username>
<password>deployment</password>
</server>
</servers>
注意:server的id必须和第1)点中的repository的id一致。用户名最好用deployment。
4)重新设定用户deployment的密码。
进入Nexus控制台,点开Security选Users,在用户列表中右键点击deployment用户,选Set Password重新设定deployment的密码为“deployment”,当然也可设置为其他,只要与第3)点server配置一致即可。
5)在工程主目录下(POM文件所在目录)运行“mvn deploy:deploy”即能实现版本的构建和发布。
2、发布第三方依赖库或独立Jar包(假设发布仓库为releases,发布Jar包为test.jar)
1)按第1点中的第2)、3)、4)点进行配置。然后进入到test.jar所在目录。
2)执行“mvn deploy:deploy-file -DgroupId=com.test -DartifactId=test -Dversion=1.0 -Dpackaging=jar -Dfile=test.jar -Durl=http://199.3.5.164:8081/nexus/content/repositories/releases -DrepositoryId=releases”即可。
说明:deploy:deploy-file表示发布独立的文件。
groupId、artifactId和version可根据需要设定。
url为Nexus服务器releases仓库路径。
repositoryId与第1点第3)点中的server的id必须一致。
3)顺便说一下,发布独立的Jar包也可在Nexus控制台中实现。在Repositories列表中选择Releases,点Artifact Upload,指定GAV Definition为“GAV Parameters”,然后输入相应的groupId、artifactId和version、Packaging,再点击“Select Artifact(s) to Upload...”选择指定的Jar文件,最后点“Upload Artifact(s)”即可。
三 Maven常用命令
常用命令为 : mvn archetype:create :创建 Maven 项目 mvn compile :编译源代码 mvn test-compile :编译测试代码 mvn test : 运行应用程序中的单元测试 mvn site : 生成项目相关信息的网站 mvn clean :清除目标目录中的生成结果 mvn package : 依据项目生成 jar 文件 mvn install :在本地 Repository 中安装 jar mvn eclipse:eclipse :生成 Eclipse 项目文件 生成项目 建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App 建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
评论暂时关闭