用户:Jinzd

来自Ubuntu中文
Jinzd留言 | 贡献2016年6月6日 (一) 17:23的版本 →‎Configuration
跳到导航跳到搜索

Ubuntu Web Servers

Refers to: https://help.ubuntu.com/12.04/serverguide/web-servers.html

Ubuntu/Web Servers

一个Web服务器是一个软件负责从客户端接受HTTP请求,所谓客户端通常被认为是Web浏览器,它服务客户端HTTP请求及可选的数据内容,它们通常是Web页面例如HTML文档及链接的对象(图片等)。

#HTTPD - Apache2 Web Server

PHP5 - Scripting Language

Squid - Proxy Server

Ruby on Rails

Apache Tomcat

HTTPD - Apache2 Web Server

Apache是Linux系统中最广泛使用的Web Server。众多的Web Server被客户端计算机使用以提供相关的Web页面请求服务。客户端通常使用Web Browser发出请求并浏览Web页面,诸如FirefoxOperaChromium或者Mozilla

用户输入的统一资源定位符(URL)指向一个Web server,并依赖其全称域名(FQDN)及路径指向需要的资源。例如,用户可以输入下面的FQDN以浏览Ubuntu Web site的主页:

www.ubuntu.com

要浏览community子页面则可以输入下面的FQDN:

www.ubuntu.com/community

最常见的用于传输Web Page的协议是超文本传输协议(HTTP)。其他协议还包括超文本传输协议加安全套接字层的(HTTPS),以及文件传输协议(FTP)用于上传和下载文件,它们均是被支持的协议。

Apache Web Server常常与MySQL数据库引擎组合使用,超文本预处理器的脚步语言(PHP),以及其他流行的脚本语言如Python和Perl。这个配置被术语化为LAMP(Linux, Apache, MySQL and Perl/Python/PHP)它们针对开发和部署基于Web的应用形成了一个强大健壮的平台。

安装

配置

HTTPS 配置

共享写权限

引用

Installation

Configuration

Apache2的配置指令存放于多个纯文本的配置文件中。这些配置指令被分割为多个文件并放置于多个目录中:

  1. apache2.conf: Apache2的主配置文件。它包含Apache2的一些全局设置。
  2. conf.d: 目录,包含一些Apache2的全局配置文件。Apache2的其他内容服务包可以添加文件,符号链接到这个目录。
  3. envvars: 用于设置Apache2环境变量的文件。
  4. httpd.conf: 历史上是Apache2的主配置文件,命名的httpd守护进程。现在,这个文件通常是空的,大多配置选项被移动到下面的引用目录。这个文件可用于用户指定特定的配置选项并作用于全局Apache2。
  5. mods-available: 这个目录包含多个配置文件以装载和配置他们。当然不是所有模块都将拥有特定的配置文件。
  6. mods-enabled: 持有符号链接的文件存放于/etc/apache2/mods-available。当一个模块配置文件持有符号链接时,它们将在apache2下次启动后生效。
  7. ports.conf: 放置的指令用于描述Apache2正在监听的TCP端口。
  8. sites-available: 该目录用于存放Apache2虚拟主机的配置文件。虚拟主机允许Apache2使用分开的配置去配置多个站点。
  9. sites-enabled: 如同mods-enabled、sites-enabled包含符号链接并存放于/etc/apache2/sites-available目录。同样地,当在sites-available中的一个配置文件是符号链接时,在Apache2重新启动时该配置站点将被激活一次。

此外,其他的配置文件可以通过Include指令添加,并且通配符可以被使用以包含多个配置文件。任何指令都可以被放置在这些配置文件中。主配置文件的更新仅在Apache2启动或重启动时才能被识别并应用。

服务器也将读取一个包含mime文档类型的文件;改文件名通过TypesConfig指令设置,通常经由/etc/apache2/mods-available/mime.conf,它可以包含附加和重写,缺省是/etc/mime.types。

基本设置

这一节解释Apache2服务器基本配置参数。更多细节请参阅Apache2 Documentation。
  1. Apache2 ships with a virtual-host-friendly default configuration. That is, it is configured with a single default virtual host (using the VirtualHost directive) which can modified or used as-is if you have a single site, or used as a template for additional virtual hosts if you have multiple sites. If left alone, the default virtual host will serve as your default site, or the site users will see if the URL they enter does not match the ServerName directive of any of your custom sites. To modify the default virtual host, edit the file /etc/apache2/sites-available/default.
    The directives set for a virtual host only apply to that particular virtual host. If a directive is set server-wide and not defined within the virtual host settings, the default setting is used. For example, you can define a Webmaster email address and not define individual email addresses for each virtual host.
    If you wish to configure a new virtual host or site, copy that file into the same directory with a name you choose. For example:
    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite
    Edit the new file to configure the new site using some of the directives described below.
  2. 22

Ubuntu

sudo

以其他用户身份执行一个命令.

用法:

sudo -h | -K | -V
sudo -v [-Akns] [-g group] [-h host] [-p prompt] [-u user]
sudo -l [-Akns] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [p prompt] [-u user] [VAR=value] [-i|-s] [<command>]
sudo -e [-Akns] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] file ...

Options:

-A, --askpass 使用一个辅助程序以提示密码。
-b, --background 在后台运行命令。
-C, --close-from=num 关闭所有大于等于num的文件描述。
-E, --preserve-env 运行命令时保存用户环境。
-e, --edit 编辑文件而非运行一个命令。
-g, --group=group 以指定的组名或组ID运行一个命令。
-H, --set-home 设置 HOME 变量以指向用户的 HOME 目录。
-h, --help 显示帮助信息并且退出。
-h, --host=host 在主机上运行命令(如果插件支持)。
-i, --login 以目标用户运行登录shell;也可以指定一个命令。
-K, --remove-timestamp 完全删除时间戳文件。
-k, --reset-timestamp 失效时间戳文件。
-l, --list 列出用户特权或检查一个特定的命令;长格式使用两次。
-n, -- non-interactive 非交互方式,无提示被使用。
-P, --preserve-groups 保存组向量而非设置指定的目标。
-P, --prompt=prompt 使用指定的密码提示。
-r, --role=role 用指定的角色创建SELinux安全上下文。
-S, --stdin 从变准输入读取密码。
-s, --shell 以目标用户运行 shell;也可以指定一个命令。
-t, --type=type 使用指定的类型创建 SELinux 安全上下文。
-U, --other-user=user 在列表模式中,显示用户特权。
-u, --user=user 以指定的用户或用户ID运行命令(或编辑文件)。
-V, --version 显示版本信息并且退出。
-v, --validate 更新用户的时间戳而不运行一个命令。
-- 停止处理命令行参数。

ifconfig

用法:

ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
[add <address>[/<prefixlen>]]
[del <address>[/<prefixlen>]]
[[-]broadcast [<address>]] [[-]pointopoint [<address>]]
[netmask <address>] [dstaddr <address>] [tunnel <address>]
[outfill <NN>] [keepalive <NN>]
[hw <HW> <address>] [metric <NN>] [mtu <NN>]
[[-]trailers] [[-]arp] [[-]allmulti]
[multicast] [[-]promisc]
[mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]
[txqueuelen <NN>]
[[-]dynamic]
[up|down] ...
<HW>=硬件类型。
列表可能的硬件类型:
loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP)
slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP)
ash (Ash) ether (Ethernet) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)
ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB)
arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device)
sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
irda (IrLAP) ec (Econet) x25 (generic X.25)
eui64 (Generic EUI-64)
<AF>=Address family. Default: inet
List of possible address families:
unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6)
ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)
ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)
ash (Ash) x25 (CCITT X.25)

ip

iwconfig

rfkill

ping

traceroute

arp

netstat

nslookup

Java

C++

g++

用法:g++ [选项] file...

选项:

-pass-exit-codes Exit with highest error code from a phase
--help Display this information
--target-help Display target specific command line options



               --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]
                          Display specific types of command line options
 (Use '-v --help' to display command line options of sub-processes)
 --version                Display compiler version information
 -dumpspecs               Display all of the built in spec strings
 -dumpversion             Display the version of the compiler
 -dumpmachine             Display the compiler's target processor
 -print-search-dirs       Display the directories in the compiler's search path
 -print-libgcc-file-name  Display the name of the compiler's companion library
 -print-file-name=<lib>   Display the full path to library <lib>
 -print-prog-name=<prog>  Display the full path to compiler component <prog>
 -print-multiarch         Display the target's normalized GNU triplet, used as
                          a component in the library path
 -print-multi-directory   Display the root directory for versions of libgcc
 -print-multi-lib         Display the mapping between command line options and
                          multiple library search directories
 -print-multi-os-directory Display the relative path to OS libraries
 -print-sysroot           Display the target libraries directory
 -print-sysroot-headers-suffix Display the sysroot suffix used to find headers
 -Wa,<options>            Pass comma-separated <options> on to the assembler
 -Wp,<options>            Pass comma-separated <options> on to the preprocessor
 -Wl,<options>            Pass comma-separated <options> on to the linker
 -Xassembler <arg>        Pass <arg> on to the assembler
 -Xpreprocessor <arg>     Pass <arg> on to the preprocessor
 -Xlinker <arg>           Pass <arg> on to the linker
 -save-temps              Do not delete intermediate files
 -save-temps=<arg>        Do not delete intermediate files
 -no-canonical-prefixes   Do not canonicalize paths when building relative
                          prefixes to other gcc components
 -pipe                    Use pipes rather than intermediate files
 -time                    Time the execution of each subprocess
 -specs=<file>            Override built-in specs with the contents of <file>
 -std=<standard>          Assume that the input sources are for <standard>
 --sysroot=<directory>    Use <directory> as the root directory for headers
                          and libraries
 -B <directory>           Add <directory> to the compiler's search paths
 -v                       Display the programs invoked by the compiler
 -###                     Like -v but options quoted and commands not executed
 -E                       Preprocess only; do not compile, assemble or link
 -S                       Compile only; do not assemble or link
 -c                       Compile and assemble, but do not link
 -o <file>                Place the output into <file>
 -pie                     Create a position independent executable
 -shared                  Create a shared library
 -x <language>            Specify the language of the following input files
                          Permissible languages include: c c++ assembler none
                          'none' means revert to the default behavior of
                          guessing the language based on the file's extension

Options starting with -g, -f, -m, -O, -W, or --param are automatically

passed on to the various sub-processes invoked by g++.  In order to pass
other options on to these processes the -W<letter> options must be used.

For bug reporting instructions, please see: <file:///usr/share/doc/gcc-5/README.Bugs>.

PostgreSQL

Eclipse

During eclipse installing, if error occured type following command to fix the error.

sudo apt-get install eclipse --fix-missing