linux使用

linux搭建web服务器

2023-01-01  本文已影响0人  lzj01231

一、Apache服务器

1.安装

yum install -y httpd
rpm -qa | grep httpd

2.配置

#查找关于httpd所有相关文件
[root@localhost ~]# rpm -ql httpd | grep conf
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
/usr/lib/tmpfiles.d/httpd.conf
/usr/lib64/httpd/modules/mod_log_config.so
/usr/libexec/initscripts/legacy-actions/httpd/configtest
/usr/share/doc/httpd-2.4.6/httpd-dav.conf
/usr/share/doc/httpd-2.4.6/httpd-default.conf
/usr/share/doc/httpd-2.4.6/httpd-info.conf
/usr/share/doc/httpd-2.4.6/httpd-languages.conf
/usr/share/doc/httpd-2.4.6/httpd-manual.conf
/usr/share/doc/httpd-2.4.6/httpd-mpm.conf
/usr/share/doc/httpd-2.4.6/httpd-multilang-errordoc.conf
/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf
/usr/share/doc/httpd-2.4.6/proxy-html.conf

(1)用户个人网站配置

#使用该用户创建个人网站
su - 用户名
mkdir /home/用户名/public_html
vi /home/用户名/public_html/index.html
#httpd服务器配置
vim /etc/httpd/conf.d/userdir.conf
systemctl restart httpd
#配置文件介绍
#1.只开启user1,user2,user3的个人网站
UserDir disabled
UserDir enabled user1 user2 user3
#2.只关闭user1,user2,user3的个人网站
UserDir enabled
UserDir disabled user1 user2 user3
#3.设置个人网站目录
UserDir public_html
#权限放行及服务自启动
chmod 711 /home/用户名
setsebool -P httpd_enable_homedirs=on
chcon -Rht httpd_sys_content_t /home/*/public_html
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
systemctl enable httpd --now

访问用户个人站点链接为:http://服务器IP地址/~用户名/
(2)普通网站配置

#创建站点目录
vi /var/www/html/index.html
#权限放行及服务自启动
setsebool -P httpd_enable_homedirs=on
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
systemctl enable httpd --now

(3)虚拟主机配置

#基于ip
#一张网卡添加两个ip
ifconfig eth0  IP1  netmask  255.255.255.0
ifconfig eth0:0  IP2  netmask  255.255.255.0
#建立两个虚拟主机的文档根目录及相应的测试页面
mkdir /var/www/vhost1
vi /var/www/vhost1/index.html
mkdir /var/www/vhost2
vi /var/www/vhost2/index.html
#配置web服务器配置文件
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhost.conf
vi /etc/httpd/conf.d/vhost.conf

<VirtualHost 172.21.55.136:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/var/www/vhost1"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "/var/log/httpd/dummy-host.example.com-error_log"
    CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost 172.21.55.137:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/var/www/vhost2"
    ServerName dummy-host2.example.com
    ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"
    CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common
</VirtualHost>

systemctl restart httpd
#防火墙放行及服务自启动
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
systemctl enable httpd --now
#基于端口
#建立两个虚拟主机的文档根目录及相应的测试页面
mkdir /var/www/vhost1
vi /var/www/vhost1/index.html
mkdir /var/www/vhost2
vi /var/www/vhost2/index.html
#配置web服务器配置文件
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhost.conf
vi /etc/httpd/conf.d/vhost.conf

<VirtualHost 172.21.55.136:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/var/www/vhost1"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "/var/log/httpd/dummy-host.example.com-error_log"
    CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost 172.21.55.136:8080>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/var/www/vhost2"
    ServerName dummy-host2.example.com
    ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"
    CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common
</VirtualHost>

vi conf/httpd.conf

Listen 80
Listen 8080

systemctl restart httpd
#防火墙放行及服务自启动
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
systemctl enable httpd --now
#基于域名
vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>                 #虚拟主机www.vhost1.com站点配置
    DocumentRoot "/var/www/vhost1"      #网页文件目录
    ServerName www.vhost1.com                     #域名配置
    ErrorLog "logs/www.vhost1.com.error_log"  #日志文件位置
    CustomLog "logs/www.vhost1.com.access_log" common
    <Directory "/var/www/vhost1">
        Require all granted     #设置目录权限
    </Directory>
</VirtualHost>

<VirtualHost *:80>                #虚拟主机www.vhost2.com站点配置
    DocumentRoot "/var/www/vhost2"
    ServerName www.vhost2.com
    ErrorLog "logs/www.vhost2.com.error_log"
    CustomLog "logs/www.vhost2.com.access_log" common
    <Directory "/var/www/vhost1">
        Require all granted
    </Directory>
</VirtualHost>

3.配置文件解释

<VirtualHost *:80>                 #虚拟主机www.vhost1.com站点配置
    DocumentRoot "/var/www/vhost1"      #网页文件目录
    ServerName www.vhost1.com                     #域名配置
    ErrorLog "logs/www.vhost1.com.error_log"  #日志文件位置
    CustomLog "logs/www.vhost1.com.access_log" common
    <Directory "/var/www/vhost1">
        Require all granted     #设置目录权限
    </Directory>
</VirtualHost>
#目录权限配置选项
Require all granted    #允许所有请求访问资源
Require all denied     #拒绝所有请求访问资源
Require env env-var [env-var] ...    #当指定环境变量设置时允许访问
Require method http-method [http-method] ...    #允许指定的http请求方法访问资源
Require expr expression    #当expression返回true时允许访问资源
Require user userid [userid] ...    #允许指定的用户id访问资源
Require group group-name [group-name] ...    #允许指定的组内的用户访问资源
Require valid-user    #所有有效的用户可访问资源
Require ip 10 172.20 192.168.2    #允许指定IP的客户端可访问资源
Require not group select    #select组内的用户不可访问资源

二、Nginx服务器

上一篇 下一篇

猜你喜欢

热点阅读