nginx-maven-配置文件关键点

来源:互联网 发布:中文字符串相似度算法 编辑:程序博客网 时间:2024/06/05 13:23

一  关于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>
配置代理为了从私服下载jar


3.设置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


0 0
原创粉丝点击