目录

1.服务器选择

2.连接服务器

3.更新apt-get

 4.Apache2.4.41搭建与管理


趁着双十一租了个阿里云的服务器玩玩,后面可能会放自己的一些3Ddemo在上面(github那东西有时慢的窒息,难顶)。

1.服务器选择

自己玩玩而已,用的都是低配,服务器系统是Ubuntu20.04(ubuntu_20_04_x64_20G_alibase_20200914.vhd)。注意注意!下面的内容都是基于该版本的(个人观点:一切不注明开发版本的文章,都是耍流氓,被坑了好多次,所以读者注意是Ubuntu20.04哦)

2.连接服务器

第一种方式:直接阿里云云服务管理控制台进去https://ecs.console.aliyun.com/?spm=5176.6660585.774526198.1.1d3c6bf8TzY0nK#/server/region

                     进入实例详情,如图:

租的云服务器Ubuntu下载docker失败 云服务器 ubuntu_apache

                 登录实例:ssh链接进入,密码不知道就在上面的图中有个更多按钮重置密码就可以了。(进去就是终端界面了)

第二种方式:由于本人用的是mac,直接用shell就好了,终端输入

ssh root@你的公网IP   //回车后会提示你输入密码,是平台上设置的密码

3.更新apt-get

apt-get update //更新软件源中的所有软件列表。 
apt-get upgrade //更新软件。 
apt-get dist-upgrade //更新系统版本。如对新版本软件的需求不是那么迫切,可以不执行

 4.Apache2.4.41搭建与管理

1.终端输入:

sudo apt install apache2 //apt-get也可,root登录的话sudo也可不用

安装完成后,apache服务会被自动执行;验证是否执行:

sudo systemctl status apache2

2.调整防火墙(打开http,https)

apache默认监听http:80,https:433。若配置了UFW防火墙以限制对服务器的访问。可输入以下内容列出UFW配置:

ufw app list

打印出

Available applications:
  Apache                //此配置文件仅打开端口80(正常,未加密的网络流量)
  Apache Full           //此配置文件同时打开端口80(正常,未加密的网络流量)和端口443(TLS / SSL加密的流量)
  Apache Secure        //此配置文件仅打开端口443(TLS / SSL加密的流量)

由于我的服务器还没配SSL,所以就用ufw allow 'Apache'了,读者也可以用别的。

验证更改:

ufw status

3.Apache管理

systemctl stop apache2  //停止
systemctl restart apache2 //重新启动
systemctl reload apache2 //重新加载,如果只是在更改配置,Apache经常可以重新加载而无需断开连接。 
systemctl disable apache2  //默认情况下,Apache配置为在服务器启动时自动启动。可禁用
systemctl enable apache2   //启动自动启动

4.设置虚拟主机

默认情况下,Ubuntu 20.04上的Apache启用了一个服务器块,该服务器块被配置为提供/var/www/html目录中的文档。 尽管这对于单个站点非常有效,但是如果您托管多个站点,则可能变得笨拙。 让我们在/var/wwwyour_domain网站创建目录结构,而不是修改/var/www/html ,如果客户端请求与任何其他请求都不匹配,则将/var/www/html保留为要提供的默认目录其他网站。(官网翻译了一下)

创建目录

sudo mkdir /var/www/zouzouzou

使用$USER环境变量分配目录的所有权

sudo chown -R $USER:$USER /var/www/zouzouzou

如果您尚未修改设置默认文件权限的umask值,则Web根目录的权限应正确。 为了确保您的权限正确并允许所有者读取,写入和执行文件,同时仅向组和其他人授予读取和执行权限,您可以输入以下命令(官网翻译)

sudo chmod -R 755 /var/www/zouzouzou

/etc/apache2/sites-available/zouzouzou.conf创建一个新的配置文件

vim /etc/apache2/sites-available/zouzouzou.conf//个人用vim,读者编辑放在对应目录下就可以了

文件:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName zouzouzou
    ServerAlias www.zouzouzou
    DocumentRoot /var/www/zouzouzou
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

请注意,我们已经将DocumentRoot更新到我们的新目录,并将ServerAdmin更新到your_domain网站管理员可以访问的电子邮件。 我们还添加了两个指令: ServerName ,它建立应该与此虚拟主机定义匹配的基本域; ServerAlias ,它定义应该匹配的其他名称,就好像它们是基本名称一样。(官网翻译)

启动配置:

a2ensite zouzouzou.conf

禁用配置:

a2dissite 000-default.conf

测试配置:

apache2ctl configtest

最后重新启动,就可以用IP访问了。

——————————华丽的分割线————————————

5.Apache文件结构(大部分是官网翻译,大家可以直接去看官网,我这只记录一下)

/var/www/html :实际的Web内容(默认情况下仅包含您之前看到的默认Apache页面)从/var/www/html目录中提供。 可以通过更改Apache配置文件来更改。

/etc/apache2 :Apache配置目录。 所有Apache配置文件都位于此处。

/etc/apache2/apache2.conf :主要的Apache配置文件。

/etc/apache2/ports.conf :此文件指定Apache将监听的端口。 默认情况下,当启用提供SSL功能的模块时,Apache会侦听端口80,并且还会侦听端口443。

/etc/apache2/sites-available/ :可以存储每个站点的虚拟主机的目录。 除非将配置文件链接到sites-enabled目录,否则Apache将不会使用该目录中的配置文件。 通常,所有服务器块配置都在此目录中完成,然后通过使用a2ensite命令链接到另一个目录来启用。

/etc/apache2/sites-enabled/ :存储已启用的每站点虚拟主机的目录。 通常,这些文件是通过使用a2ensite链接到sites-available目录中的配置文件来创建的。 Apache在启动或重新加载以编译完整的配置时,会读取该目录中的配置文件和链接。

/etc/apache2/conf-available/ , /etc/apache2/conf-enabled/ :这些目录与sites-availablesites-enabled目录具有相同的关系,但是用于存储不属于虚拟主机。 在文件conf-available目录可以与启用a2enconf命令并禁用a2disconf命令。

/etc/apache2/mods-available/ , /etc/apache2/mods-enabled/ :这些目录分别包含可用和启用的模块。 以.load结尾的文件包含用于加载特定模块的片段,而以.conf结尾的文件包含这些模块的配置。 可以使用a2enmoda2dismod命令启用和禁用模块。

/var/log/apache2/access.log :默认情况下,对Web服务器的每个请求都记录在此日志文件中,除非将Apache配置为执行其他操作。

/var/log/apache2/error.log :默认情况下,所有错误都记录在此文件中。 Apache配置中的LogLevel指令指定错误日志将包含多少详细信息。