用户:Jinzd:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Jinzd留言 | 贡献
Jinzd留言 | 贡献
 
(未显示同一用户的31个中间版本)
第1行: 第1行:
=Ubuntu Web Servers=


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


[[Ubuntu/Web Servers]]


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


[[#HTTPD - Apache2 Web Server]]
* [[Sudo]], upading based on others.
* [[Ubuntu/Web Servers]], new creating, sub pages are not finished yet.
*: [[Ubuntu/Web Servers/HTTPD - Apache2 Web Server]]
*: [[Ubuntu/Web Servers/PHP - Scripting Language]]
*: [[Ubuntu/Web Servers/Squid - Proxy Server]]


[[PHP5 - Scripting Language]]
=Doing=


[[Squid - Proxy Server]]
* [https://www.gnu.org/software/bash/manual/bash.html#Readline-Bare-Essentials Bash Reference Manual]
*: [[Bash Reference Manual]]
*: [[Bash Reference Manual/zh]]


[[Ruby on Rails]]
=Want to=


[[Apache Tomcat]]
* [https://help.ubuntu.com/lts/serverguide/remote-administration.html Remote Administration]
 
* [http://php.net/manual/en/book.pgsql.php PostgreSQL]
==HTTPD - Apache2 Web Server==
* [http://help.eclipse.org/mars/index.jsp?nav=%2F0 PDT]
 
* [http://help.eclipse.org/mars mars]
Apache是Linux系统中最广泛使用的Web Server。众多的Web Server被客户端计算机使用以提供相关的Web页面请求服务。客户端通常使用Web Browser发出请求并浏览Web页面,诸如''Firefox''、''Opera''、''Chromium''或者''Mozilla''。
* [https://app.netease.im/index#/ cloud]
 
用户输入的统一资源定位符(URL)指向一个Web server,并依赖其全称域名(FQDN)及路径指向需要的资源。例如,用户可以输入下面的FQDN以浏览Ubuntu Web site的主页:
 
<pre>
www.ubuntu.com
</pre>
 
要浏览community子页面则可以输入下面的FQDN:
 
<pre>
www.ubuntu.com/community
</pre>
 
最常见的用于传输Web Page的协议是超文本传输协议(HTTP)。其他协议还包括超文本传输协议加安全套接字层的(HTTPS),以及文件传输协议(FTP)用于上传和下载文件,它们均是被支持的协议。
 
Apache Web Server常常与MySQL数据库引擎组合使用,超文本预处理器的脚步语言(PHP),以及其他流行的脚本语言如Python和Perl。这个配置被术语化为LAMP(Linux, Apache, MySQL and Perl/Python/PHP)它们针对开发和部署基于Web的应用形成了一个强大健壮的平台。
 
[[#Installation|安装]]
 
[[#Configuration|配置]]
 
[[#HTTPS Configuration|HTTPS 配置]]
 
[[#Sharing Write Permission|共享写权限]]
 
[[#References|引用]]
 
===Installation===
 
===Configuration===
 
Apache2的配置指令存放于多个纯文本的配置文件中。这些配置指令被分割为多个文件并放置于多个目录中:
 
# ''apache2.conf'': Apache2的主配置文件。它包含Apache2的一些全局设置。
# ''conf.d'': 目录,包含一些Apache2的全局配置文件。Apache2的其他内容服务包可以添加文件,符号链接到这个目录。
# ''envvars'': 用于设置Apache2环境变量的文件。
# ''httpd.conf'': 历史上是Apache2的主配置文件,命名的httpd守护进程。现在,这个文件通常是空的,大多配置选项被移动到下面的引用目录。这个文件可用于用户指定特定的配置选项并作用于全局Apache2。
# ''mods-available'': 这个目录包含多个配置文件以装载和配置他们。当然不是所有模块都将拥有特定的配置文件。
# ''mods-enabled'': 持有符号链接的文件存放于/etc/apache2/mods-available。当一个模块配置文件持有符号链接时,它们将在apache2下次启动后生效。
# ''ports.conf'': 放置的指令用于描述Apache2正在监听的TCP端口。
# ''sites-available'': 该目录用于存放Apache2虚拟主机的配置文件。虚拟主机允许Apache2使用分开的配置去配置多个站点。
# ''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。
 
: 基本设置
: <hr/>
: 这一节解释Apache2服务器基本配置参数。更多细节请参阅Apache2 Documentation。
 
# Apache2附带一个虚拟主机友好的缺省配置。也就是说,它被配置为有一个缺省的虚拟主机(使用VirtualHost指令)并且这个虚拟主机可以被修改或直接使用如同你有了一个站点;或者如果你有多个站点,它也可作为其他虚拟主机模板使用。假如只有一个站点,该缺省虚拟主机将作为你的缺省站点;或者,当用户输入的URL与ServerName指令不匹配时用户也将看到此站点。要修改缺省虚拟主机设置,可以编辑文件/etc/apache2/sites-available/default。<br/><span style="background:lightgray">该虚拟主机设置指令只适用于待定的虚拟主机。如果一个指令定义的服务器范围没有在虚拟主机设置中被定义,则使用这个缺省设置。例如,你能定义一个Webmaster邮件地址但是没有为每个虚拟主机定义单独的邮件地址。</span><br/>如果你希望配置一个新的虚拟主机或站点,则以另一文件名拷贝该文件到同一目录下。例如:<br/><code style="background-color:lightgray">sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite</code><br/>按下列指令及描述编辑该新文件以配置这个新站点。
# ''ServerAdmin''指令指明服务器管理员的邮件地址。其缺省值是webmaster@localhost。它应更新为递送到你的邮件地址(如果你是服务器管理员)。如果你的站点有问题,Apache2将把这个邮件地址包含在消息中并报告相关问题。包含该指令的配置文件可以在/etc/apache2/sites-available中找到。
# ''Listen''指令用于指明端口以及可选的IP地址,以便Apache2侦听。如果IP地址没有被指明,Apache2将侦听所有分配到该机的IP地址。该''Listen''指令的缺省值是80。改变这个值为127.0.0.1:80 将引起Apache2只侦听本地回环接口这将导致它在互联网上是不可用的,对于(例如)81设置将改变侦听端口,或放弃正常的设置。这个指令可以被找到并更改在文件/etc/apache2/ports.conf
# The ''ServerName'' directive is optional and specifies what FQDN your site should answer to. The default virtual host has no ServerName directive specified, so it will respond to all requests that do not match a ServerName directive in another virtual host. If you have just acquired the domain name ubunturocks.com and wish to host it on your Ubuntu server, the value of the ServerName directive in your virtual host configuration file should be ubunturocks.com. Add this directive to the new virtual host file you created earlier (/etc/apache2/sites-available/mynewsite).<br/>You may also want your site to respond to www.ubunturocks.com, since many users will assume the www prefix is appropriate. Use the ServerAlias directive for this. You may also use wildcards in the ServerAlias directive.<br/>For example, the following configuration will cause your site to respond to any domain request ending in .ubunturocks.com. <br/><code style="background-color:lightgray">ServerAlias *.ubunturocks.com</code>
# The ''DocumentRoot'' directive specifies where Apache2 should look for the files that make up the site. The default value is /var/www, as specified in /etc/apache2/sites-available/default. If desired, change this value in your site's virtual host file, and remember to create that directory if necessary!
 
=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:
 
{| style="border: none" width="100%"
|-
| width="200px" | -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...
 
选项:
 
{| style="border: none" width="100%"
|-
| width="200px" | -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

2016年7月5日 (二) 13:04的最新版本