19

怎么在一台主机上面部署多个网站

使用Nginx的虚拟化配置

环境

使用一键安装lnmp环境
请参考 https://segmentfault.com/a/11...

第一步:执行 lnmp vhost add

lnmp vhost add

clipboard.png
输入自己要绑定的域名,比如我现在需要绑定 itnote.cn 我在这个地方输入,然后敲回车,下面提示让你输入更多需要绑定的域名,如不需要请敲回车,

此时输入错误,请按 Ctrl + backspace (退格键)删除

在这前一定要把自己的域名解析到这台主机,下面图片是绑定自己的主机

clipboard.png

第二步:输入自己域名对应的主机文件目录

clipboard.png
如果不更改,直接敲回车,会默认给你再 /home/wwwroot/itnote.cn 以你的域名为文件夹名字创建目录
如果你输入了文件名字,请记住一定要输入全路径

第三步:询问你是否要添加静态规则

静态规则根据自己的网站程序配置,一般就是url的访问格式
clipboard.png

第四步:是否保存访问日志

clipboard.png
最好保存一下,以便排查错误
在这里面执行 y 就是需要,然后敲回车,然后会让你输入保存日志的名字,直接敲回车,会自定产生一个名字。

clipboard.png

第五步:是否创建mysql数据库(不需要)

不需要填写 n 或者敲回车
clipboard.png

end 最后整体截图

clipboard.png

总结

域名务必需要自己输入
日志需要选择 y,其它一路回车

### 最后创建成功后

Virtualhost infomation: 
Your domain: itnote.cn
Home Directory: /home/wwwroot/itnote.cn
Rewrite: none
Enable log: yes
Create database: no
Create ftp account: no
![clipboard.png](/img/bVXDkX)

### 此时就创建了一个虚拟主机,相当于创建一个网站

相当于在阿里云买了一个298的云虚拟主机

如果想创建多个站点,重复以上过程

记得让你的域名绑定主机哦

创建多个站点,列子:stark.itnote.cn

第一步先绑定主机

clipboard.png

第二步:执行 lnmp vhost add 生成网站需要的Nginx配置文件

clipboard.png

最后访问stark.itnote.cn 对应 /www/wwwroot/stark.itnote.cn

这个里面放置项目文件就是网站 stark.itnote.cn 访问的主机路径地址

进入这个文件夹/www/wwwroot/stark.itnote.cn

cd /www/wwwroot/stark.itnote.cn
vim index.html

输入一些内容保存: stark.itnote.cn this is website

然后访问 stark.itnote.cn

clipboard.png

clipboard.png

clipboard.png

常见问题集锦

自己创建虚拟主机后,配置写错了怎么修改?

修改 /usr/local/nginx/conf/vhost/ 这个路径里面的相应的配置文件
一般都是以你的域名命名后面加上 .conf
比如我的配置文件是 itnote.cn.conf

vim /usr/local/nginx/conf/vhost/itnote.cn.conf 

以上操作都是针对这个配置文件做的修改

下面是Nginx 配置 (反向代理可以在这添加)

server
    {
        listen 80;
        #listen [::]:80;
        server_name itnote.cn ; # 打算添加多个域名在这后面以空格隔开添加域名
        index index.html index.htm index.php default.html default.htm default.php; # 首访问文件
        root  /home/wwwroot/itnote.cn; # 根路径,就是访问域名后对应的目录

        include none.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/itnote.cn.log;
    }
~                                         

任何时候修改Nginx 都要重启 Nginx

重启Nginx方式

第一种方式:

service nginx restart

第二种方式:

systemctl restart nginx.service

第三种方式:

/etc/init.d/nginx restart

有问题欢迎提问

欢迎加入前端持续学习

前端持续学习
https://shimo.im/doc/fsC5uj9m...「前端持续学习」


西树先森
7.1k 声望926 粉丝

从事开发多年,前端、后端(go、Python、php)、服务架构都有涉猎,经历过大公司、创业公司,擅长前端及公司技术选型。