codecamp

如何在IntelliJ IDEA上创建本地服务器配置

创建本地服务器配置

一个本地服务器是在本地或载入的文件夹中运行的服务器,其文档根不是项目根的父项。

要在此设置中配置对服务器的访问,您需要指定以下内容:

  1. 该服务器配置根文件夹和访问它的 URL 地址。
  2. 项目根文件夹、服务器上要将数据从项目根文件夹复制到的文件夹,以及访问服务器上复制数据的 URL 地址之间的对应关系。这个通信被称为映射。

创建服务器配置:指定其名称、类型和可见性

  1. 通过执行以下操作之一打开部署页面:
    • 通过按 Ctrl+Alt+S 或选择:文件| 设置(Windows 和 Linux 系统)或 IntelliJ IDEA | 首选项(macOS 系统)来打开设置/首选项对话框,然后单击 "生成、执行、部署" 下的 "部署"。
    • 选择主菜单上的:工具| 部署| 配置(Tools | Deployment | Configuration)。
  2. 在左侧窗格中,显示所有现有服务器配置的列表,单击“添加”工具栏按钮 。将打开 "添加服务器" 对话框。
  3. 在 "名称" 文本框中指定服务器配置名称。从 "类型" 下拉列表中,选择服务器配置类型“本地或挂载文件夹”。在 "名称" 文本框中编辑服务器配置名称时,请使用键盘上的向上和向下键更改在类型下拉列表中预先选择的服务器访问类型。
  4. 使用"仅对此项目可见"复选框可以配置服务器访问配置(部署配置)的可见性。
    • 选中此复选框可将配置的使用限制为当前项目。这样的配置不能在当前项目之外重新使用,它们不会出现在其他项目中的可用配置列表中。
    • 当复选框被清除时,所有 IntelliJ IDEA 项目中都可以看到配置,并且可以重新使用包括 SSH 凭据在内的设置。
  5. 点击“确定”。该“添加服务器”对话框关闭,您返回到部署节点的 "连接" 选项卡。
    点击 Use as Default 工具栏按钮 ,在以下情况下,使 IntelliJ IDEA 以静默方式应用当前配置:
    • 自动上传已更改的文件。
    • 手动上传文件而不选择目标主机。
    • 将本地文件和文件夹与其远程版本进行比较。

指定服务器配置根和 URL 地址以访问它

  1. 在 "上传/下载项目文件" 区域的 "文件夹" 文本框中,指定服务器配置根目录。该服务器配置根是可以通过服务器配置访问的服务器上文件树中最高的文件夹。最简单的方法是使用 web 服务器配置文件中定义的 web 服务器的文档根目录。但是,您可以指定文档根目录下的任何其他现有文件夹。
  2. 在服务器区域的浏览文件的 Web 服务器根 URL 文本框中,指定服务器配置根目录的 URL 地址。此 URL 地址将是生成应用程序的 URL 地址的起点。取决于您选择的服务器配置根目录,请执行以下操作之一:
    • 键入与 Web 服务器配置文件中定义的 Web 服务器的文档根目录相关联的 URL 地址。
    • 以 <URL of the server document root>/<path to the relevant folder relative to the server document root> 格式输入 URL 地址。
    支持 HTTP 和 HTTPS 协议。要通过 HTTPS 访问服务器,您需要获取一个证书文件 <certificate_name>.cert 由一个公认的授权机构签署,并将此证书导入到 IntelliJ IDEA 运行的 Oracle JRE(Java 运行时环境)的 truststore / keystore 中。请注意,自签名证书被拒绝为不安全。
    要在 Oracle JRE 中导入证书:
    • 打开嵌入式终端并键入以下命令:
       <jre_home>/bin/keytool.exe -importcert -keystore <path to jre truststore/keystore> -file <full_path_to_<cert_name>.cert> 
      如果你正在使用与IntelliJ IDEA 捆绑在一起的 Oracle JRE,则 truststore / keystore 的默认路径是 <%product_installation_folder>/jre/jre/lib/security/jssecacerts 或<%product_installation_folder>/jre/jre/lib/security/cacerts。否则为 <jre_home>/jre/lib/security/jssecacerts 或<jre_home>/jre/lib/security/cacerts。
    • 当被要求输入 truststore / keystore 的密码时,请指定默认的 changeit。
    • 在 <IntelliJ IDEA_installation_folder>/bin 中打开 IntelliJ IDEA.exe.vmoptions 文件并添加以下行:
      Djavax.net.ssl.keyStore=<path to keystore>
    • 重新启动 IntelliJ IDEA。

指定服务器配置根的示例

例如, Apache httpd 服务器配置文件是 httpd.conf 根据它,默认的文件根目录是 htdocs 文件夹,而访问其中数据的默认 URL 地址是 http://localhost。为了简单起见,我们假设您正在使用 XAMPP 包,并且它安装在 C:/驱动器的根目录中。

所以如果您决定直接在服务器文档根目录下复制项目文件,你的服务器配置根将会是 C:\xampp\htdocs 并且它的 URL 地址将是 http://localhost:<port>。

您可以在服务器上建立一个更复杂的文件夹结构,例如,在服务器文档根目录下有 MySite1 和 MySite2 文件夹。在这种情况下,您将必须决定在当前配置中使用哪些文件夹,让它成为 MySite2。因此,服务器配置根将会是 C:\xampp\htdocs\MySite2 并且它的 URL 地址将是 http://localhost:<port>\MySite2。

将项目文件夹映射到服务器上的文件夹和 URL 地址以访问它们

配置映射,即设置项目文件夹之间的对应关系,将复制项目文件复制到服务器上的文件夹,以及 URL 地址来访问服务器上复制的数据。最简单的方法是将整个项目根文件夹映射到服务器上的一个文件夹,如果在 "选项" 对话框中选中了 "创建空目录" 复选框,则项目文件夹结构将在服务器上重复。有关详细信息,请参阅自定义上传/下载:

  1. 切换到"映射" 选项卡。
  2. 在 "本地路径" 文本框中,指定项目树中所需文件夹的完整路径。在最简单的情况下,它是项目根。
  3. 在 "部署路径" 文本框中,指定 IntelliJ IDEA 将从 "本地路径" 文本框中指定的文件夹上载数据的服务器上的文件夹。键入相对于服务器配置根目录的文件夹路径。如果尚未存在具有指定名称的文件夹,IntelliJ IDEA 将创建它,前提是您在 "选项" 对话框中选中了 "创建空目录" 复选框。有关详细信息,请参阅自定义上传/下载。
  4. 在 “Web路径” 文本框中,键入服务器上相对于服务器配置根目录的文件夹的路径。其实,输入你在 "部署路径" 文本框中键入的相对路径。

将项目文件夹映射到服务器上的文件夹的示例

例如,如果您的项目是 C:\My_Projects\Mapping_project,则服务器文档根目录为 C:\xampp\htdocs,服务器配置根目录是 C:\xampp\htdocs\MySite2,其URL 地址是 http://localhost:<port>\MySite2,请填写如下的字段:

  1. 在"本地路径" 文本框中,键入 C:\My_Projects\Mapping_project。
  2. 在"部署路径" 文本框中,键入 Mapping_project。
  3. 在"Web 路径" 文本框中,键入 Mapping_project。
In-Place Server配置
IntelliJ IDEA创建远程服务器配置
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }