使用Nginx创建基于端口的虚拟主机 (nginx 基于端口的虚拟主机)

如何

在Web服务器中,虚拟主机是一种常见的技术,它允许在单个服务器上托管多个网站。这种技术可以大大减少服务器数量,提高资源使用效率。通常,虚拟主机是基于主机名进行区分的,这意味着它们使用不同的域名进行访问。然而,在某些情况下,您可能需要根据端口而不是主机名来创建虚拟主机。在这篇文章中,我们将介绍如何。

步骤一:安装Nginx

Nginx是创建虚拟主机的流行Web服务器之一。在开始构建基于端口的虚拟主机之前,您需要先安装Nginx。在Linux上安装Nginx非常简单,您只需要运行以下命令:

“`shell

sudo apt-get update

sudo apt-get install nginx

“`

这将安装最新版本的Nginx并将其添加到系统的启动项中。

步骤二:创建虚拟主机配置文件

在Nginx中,虚拟主机配置文件存储在/sites-enabled目录中。在创建虚拟主机之前,您需要创建一个新的配置文件。在/etc/nginx/sites-avlable目录中创建一个名为mydomn的新文件:

“`shell

sudo nano /etc/nginx/sites-avlable/mydomn

“`

在编辑器中输入以下代码:

“`nginx

server {

listen 8080;

server_name example.com;

root /var/www/mydomn;

}

“`

此代码片段指示Nginx监听端口8080,然后将所有从域名example.com发来的请求路由到/var/www/mydomn目录中。

步骤三:启用虚拟主机配置

要启用新创建的虚拟主机配置文件,请将其符号链接到/sites-enabled目录中:

“`shell

sudo ln -s /etc/nginx/sites-avlable/mydomn /etc/nginx/sites-enabled/

“`

现在,您可以通过使用curl或您的Web浏览器来测试Nginx是否已成功配置:

“`shell

curl http://example.com:8080

“`

这将向您返回/var/www/mydomn目录中包含的任何内容。

步骤四:配置SSL

在使用基于端口的虚拟主机之前,您可能需要配置SSL,以确保数据在传输过程中是安全的。要配置SSL,请首先安装Certbot:

“`shell

sudo apt-get update

sudo apt-get install certbot python3-certbot-nginx

“`

接下来,在Nginx配置中添加以下代码以启用SSL:

“`nginx

server {

listen 8080;

server_name example.com;

root /var/www/mydomn;

# SSL Configuration

ssl_certificate /etc/letsencrypt/live/example.com/fullchn.pem;

ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

# Redirect HTTP to HTTPS

if ($scheme != “https”) {

return 301 https://$server_name$request_uri;

}

}

“`

当您启用SSL后,您会注意到端口已更改为443。这是默认的SSL端口。

步骤五:重启Nginx

安装了新的虚拟主机并配置了SSL之后,您需要重启Nginx才能使更改生效。在Linux上,您可以通过以下命令来实现这一点:

“`shell

sudo systemctl restart nginx

“`

这将重启Nginx并使您的更改生效。

结论

的步骤比创建基于主机名的虚拟主机更为简单。它可以允许您轻松地将多个网站托管在同一台服务器上,同时确保它们的数据传输安全。如果您已经准备好创建一个基于端口的虚拟主机,请按照上述步骤进行操作。

相关问题拓展阅读:

mac配置php-fpm,nginx运行多版本php

1、brew 安装 php5.6 php5.7 nginx

2、配置php-conf

3、配置虚拟主机

安装好brew

用brew 命令安装,如果速度太慢或访问不了,自行goole brew 换源

brew search php  查看可用的php版本

brew install   安装php5.6

brew install 安装php5.6

brew install nginx安装nginx

1、修改php5.6 php-fpm的端口为9056

    cd usr/local/etc/php/5.6 # 到php5.6的目录下

    vi    php-fpm.conf # 修改文件

listen = 127.0.0.1:9056  # 修改此端口

daemonize = yes # 修改为允许后台启动php-fpm

2、修改php5.6 php-fpm的端口为9070

    cd /usr/local/etc/php/7.1/php-fpm.d # 到php7.1的目录下

    vi

www.conf

# 修改端口

   宽腊     listen = 127.0.0.1:9056  # 修改此端口   纳键 

    vi    php-fpm.conf  # 修改文件

daemonize = yes # 修改为允许后台启动php-fpm

3、启动php-fpm

    cd /usr/local/in # 到此目录,建立两个软链接指向不同版本的php

切换到root用户

./php-fpm56 

./php-fpm71

启动后可看到php-fpm的进程,则成功

ps-ef | grep php-fpm

cd /usr/local/etc/nginx/  # 到nginx的目录下

复制默认的配置文件到server下(此目录用来存虚拟主机文件)

这里我在server创建了这两个

vi local.phpinfo56.com.conf # 修洞巧巧改本地域名和nginx代理到php-fpm端口,按照这种方法修改另一个

nginx # 启动nginx

nginx -s reload # 修改配置文件,重新加载nginx

vi /etc /hosts  # 修改host 加上映射关系

cd  /usr /local/var/www # 在此目录下建立一个index.php

echo ” index.php

在浏览器访问可看到

关于nginx 基于端口的虚拟主机的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 使用Nginx创建基于端口的虚拟主机 (nginx 基于端口的虚拟主机)