前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux从入门到放弃系列: 搭建web服务器

linux从入门到放弃系列: 搭建web服务器

原创
作者头像
放牛的
发布2020-01-10 09:52:48
1.4K0
发布2020-01-10 09:52:48
举报
文章被收录于专栏:Linux入门到放弃

题主偶尔要做些小测试,需要后端有一个web网站,所以就上网搜一下,也就几条命令,示例如下:

一. 80端口搭建静态网页

以CentOS7.6为例:

1. 安装httpd服务:

代码语言:javascript
复制
yum -y install httpd

2.配置主页:

编辑 vi /var/www/html/index.html文件(index.html实际并不存在,vi 时候自动创建的),写入下面内容;

代码语言:javascript
复制
<marquee><font color=red><h1>hello,welcome to Tencent Qcloud!

3.启动httpd服务加载配置内容;

代码语言:javascript
复制
systemctl start httpd

4. 默认80端口,使用机器的地址 http://x.x.x.x,就可以访问这个静态网页;或者在机器后台使用curl测试一下,能返回http status 200以及上面的内容就说明网页正常了;

但是呢?

现在只有一个静态网站可以测试,如果我需要几个不同的测试网页呢?我总不能每次都找很多台机器一个一个的搭吧,那肯定就有人会说,用不同的端口来访问不同的网页不就行了么。。。如你所想,我也是这么考虑的;

二. 多端口搭建不同静态网页

还是在刚刚80已经搭好的这个机器上,题主打算额外使用8080,8081这2个端口来搭另外2个静态网页,使用vhost的方法,配合修改几个配置文件就可以了;

1.修改 etc/httpd/conf/extra/httpd-vhosts.conf 文件【如果没有,那就创建一个】,内容如下:

代码语言:javascript
复制
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot /var/www/html/
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log common
#ServerSignature Off
</VirtualHost>

<VirtualHost *:8080>
ServerName first.test.com
ServerAlias localhost
DocumentRoot /var/www/first/
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log common
#ServerSignature Off
</VirtualHost>

<VirtualHost *:8081>
ServerName second.test.com
ServerAlias localhost
DocumentRoot /var/www/second/
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log common
#ServerSignature Off
</VirtualHost>

2. 修改主配置文件 etc/httpd/conf/httpd.conf

A. 去掉 include conf/extra/httpd-vhosts.conf 的注释【如果没有这行,那就手动加上】;

B. 修改根目录文件为 DocumentRoot "/var/www"

C. 修改虚拟主机根目录权限:

代码语言:javascript
复制
<Directory />
    # 允许根目录中的.htaccess生效并覆盖此处设置
    AllowOverride All
    # 允许该目录的所有用户操作权限
    Require all granted
</Directory>

3. 添加本地解析记录 /etc/hosts

代码语言:javascript
复制
127.0.0.1 test.com first.test.com second.test.com

这个解析记录只是为了本地测试方便,非必须步骤;

4.创建对应的web目录并赋权限

代码语言:javascript
复制
mkdir -p /var/www/first
mkdir -p /var/www/second
cp /var/www/html/index.html /var/www/first
cp /var/www/html/index.html /var/www/second

我图轻巧,直接把之前的index.html给复制过去了,建议你们修改index.html中的内容,方便与域名对应起来;

代码语言:javascript
复制
chmod -R -t /var/www/first
chmod -R -t /var/www/second

6. 重启apach服务

代码语言:javascript
复制
systemctl restart httpd

7.测试验证

A.检查httpd进程侦听的端口

代码语言:javascript
复制
[root@VM_1_5_centos conf]# netstat -apn | grep httpd
tcp6       0      0 :::8080                 :::*                    LISTEN      4806/httpd          
tcp6       0      0 :::80                   :::*                    LISTEN      4806/httpd          
tcp6       0      0 :::8081                 :::*                    LISTEN      4806/httpd 

B.检查网页内容:

代码语言:javascript
复制
[root@VM_1_5_centos conf]# curl 127.0.0.1
<marquee><font color=red><h1>hello,welcome to Tencent Qcloud!
[root@VM_1_5_centos conf]# curl 127.0.0.1:8080
<marquee><font color=red><h1>first,welcome to Tencent Qcloud!
[root@VM_1_5_centos conf]# curl 127.0.0.1:8081
<marquee><font color=red><h1>second,welcome to Tencent Qcloud!

本地curl验证的时候,也可以使用上面本地解析的域名来验证,也是能正常返回的;

通过以上的步骤,本地就通过侦听不同的端口,访问不同的静态网页了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档