目录
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;
进入实例详情,如图:
登录实例: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/www
为your_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-available
和sites-enabled
目录具有相同的关系,但是用于存储不属于虚拟主机。 在文件conf-available
目录可以与启用a2enconf
命令并禁用a2disconf
命令。
/etc/apache2/mods-available/
, /etc/apache2/mods-enabled/
:这些目录分别包含可用和启用的模块。 以.load
结尾的文件包含用于加载特定模块的片段,而以.conf
结尾的文件包含这些模块的配置。 可以使用a2enmod
和a2dismod
命令启用和禁用模块。
/var/log/apache2/access.log
:默认情况下,对Web服务器的每个请求都记录在此日志文件中,除非将Apache配置为执行其他操作。
/var/log/apache2/error.log
:默认情况下,所有错误都记录在此文件中。 Apache配置中的LogLevel
指令指定错误日志将包含多少详细信息。