一般情况下每个虚拟主机就是一个网站,网站一般通过域名进行访问。今天我们来谈谈一个服务器添加多个虚拟主机的方法。

首先我们要解析域名;没有域名的小伙伴要先购买

1、首先进行域名的解析以阿里云为例。首先登陆阿里云

2、进入控制台,右侧栏目找到 域名和网站,点击 云解析DNS ,右侧会显示你所购买的域名

3、选择需要解析的域名,点击改域名后面的解析设置进行解析列表添加解析。

  

4、进入解析列表,点击添加解析。

  

5、填写你要解析生成的域名和解析到的服务器ip,点击确定。

##添加网站(虚拟主机)##

如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除。

执行:lnmp vhost add 出现如下界面:

这里要输入要添加网站的域名,我们已添加www.vpser.net域名为例,如上图提示后输入域名 www.vpser.net 回车后提示

这里询问是否添加更多域名,直接再输入要绑定的域名,这里我们将 vpser.net 也绑上,多个域名空格隔开,如不需要绑其他域名就直接回车。

(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。

下面需要设置网站的目录

网站目录不存在的话会创建目录。也可以输入已经存在的目录或要设置的目录(注意如要输入必须是全路径即以/开头的完整路径!!!)。不输入直接回车的话,采用默认目录:/home/wwwroot/域名

伪静态可以使URL更加简洁也利于SEO,如程序支持并且需要设置伪静态的话,如启用输入 y ,不启用输入 n 回车(注意LNMPA或LAMP模式没有该选择项!)。

默认已经有了discuz、discuzx、discuzx2(Discuz X二级目录)、wordpress、wp2(WordPress二级目录)、typecho、typecho2(Typecho二级目录)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex等常用的Nginx伪静态配置文件,可以直接输入名称进行使用,如果是二级目录则需要对应配置文件里的二级目录的名称。

这一步是设置日志,如启用日志输入 y ,不启用输入 n 回车。

如果启用需要再输入要设置的日志的名称,默认日志目录为:/home/wwwlogs/ 默认文件名为:域名.log 回车确认后,会询问是否添加数据库和数据库用户。

如果需要添加数据库输入 y ,不添加数据库输入 n 回车。

如果要添加,需要先验证MySQL的root密码(注:输入密码将不显示)
提示Enter database name: 后输入要创建的数据库名称,要创建的数据库用户名会和数据库同名,回车确认。

提示Please enter password for mysql user 数据库名: 后输入要设置的密码,回车确认。

如果安装了FTP服务器会询问是否添加FTP账号

提示Enter ftp account name: 后输入要创建的FTP账号名称,回车确认。
提示Enter password for ftp account FTP账号: 后输入要设置的密码,回车确认。

接下来是1.4新增的添加SSL功能

如果需要添加输入 y ,不添加输入 n 回车。
选择了添加SSL会提示

有两个选项,1 选项为使用自己准备好的SSL证书和key。

> > 提示Please enter full path to SSL Certificate file 后输入要SSL证书的完整路径和文件名,回车确认。
> > 提示Please enter full path to SSL Certificate Key file: 后输入输入要key文件的完整路径和文件名,回车确认。

2 选项为使用免费SSL证书提供商Letsencrypt的证书,自动生成SSL证书等信息。

需要输入一个邮箱回车确认。

提示 Press any key to start create virtul host... 后,回车确认便会开始创建虚拟主机。

添加成功会提示添加的域名、目录、伪静态、日志、数据库、FTP等相关信息,如下图:

##伪静态管理##

LNMPA或LAMP可以直接使用网站根目录下放.htaccess 来设置伪静态规则(具体规则可以去程序官网网站找google百度),但是在LNMP下,需要使用Nginx伪静态规则。
伪静态可以随时添加或删除,如果添加完虚拟主机后忘记或没有添加伪静态,可以通过修改配置文件来添加伪静态。
虚拟主机配置文件在:/usr/local/nginx/conf/vhost/域名.conf

伪静态规则文件需要放在/usr/local/nginx/conf/ 下面。
编辑虚拟主机配置文件,可以使用vi。

例如前面我们添加的虚拟主机,打开后前半部分配置会显示如下

在root /home/wwwroot/www.vpser.net;这一行下面添加:
include wordpress.conf;
上面的wordpress.conf为伪静态文件,如需要其他伪静态文件自己创建个并上传到/usr/local/nginx/conf/ 下面并include 伪静态.conf; 加完保存,执行:/etc/init.d/nginx restart 重启生效,如果报错可能是添加有误或伪静态规则有误。

##上传网站程序##

如果已经安装FTP服务器可以直接使用ftp客户端通过你的FTP信息登录后上传网站或sftp等软件上传网站,设置好相关权限开始安装即可。
上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录。
为了安全可以将一些不需要PHP运行的上传文件之类的目录去掉执行权限,参考:http://www.vpser.net/security/lnmp-remove-nginx-php-execute.html

##已存在虚拟主机添加ssl证书开启https##

对于已存在的虚拟主机添加https站点,可以执行:lnmp ssl add 命令添加ssl证书,目前有两种方式一种是使用自备的ssl证书,二是采用Let'sEncrypt的免费证书。添加过程和前面的添加虚拟主机的过程是一样的,只是会多一项填写ssl证书和key的步骤或直接选择Let'sEncrypt自动生成证书。
如果是1.*版本升级到1.4或更改版本的需要参考:https://lnmp.org/faq/upgrade1-4.html 中的说明,如果有提示不安全或不显示小绿锁上面链接中也有说明。

##列出网站(虚拟主机)##

执行:lnmp vhost list

##删除网站(虚拟主机)##

执行:lnmp vhost del

删除网站会先列出当前已有虚拟主机,按提示输入要删除的虚拟主机域名 回车确认。

这里只是删除虚拟主机配置文件,网站文件并不会删除需要自己删除。
LNMP 1.2下需要执行:chattr -i /网站目录/.user.ini 后才能删除网站目录。

当执行chown或chmod对网站目录属主属组或权限进行操作时可能会提示chown: changing ownership of `/home/wwwroot/default/.user.ini': Operation not permitted,不需要理会,如果有强迫症可以参考前面先进行chattr -i的操作。

##默认网站(虚拟主机)##

LNMP默认网站配置文件:/usr/local/nginx/conf/nginx.conf
LNMPA默认网站配置文件:/usr/local/nginx/conf/nginx.conf 和 /usr/local/apache/conf/extra/httpd-vhosts.conf
LAMP默认网站配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf

##防跨目录设置##

LNMP 1.1及之前的版本使用php.ini里面,open_basedir设置

LNMP 1.2及更高版本防跨目录功能使用.user.ini,该文件在网站根目录下,可以修改.user.ini 里面的open_basedir的值来设置限制访问的目录或删除来移除防跨目录的设置。

.user.ini文件无法直接修改,如要修或删除需要先执行:chattr -i /网站目录/.user.ini
可以使用winscp文件管理、vim编辑器或nano编辑器进行修改。
删除的话rm -f /网站目录/.user.ini 就可以。
修改完成后再执行:chattr +i /网站目录/.user.ini
.user.ini不需要重启一般5分钟左右生效,也可以重启一下php-fpm立即生效。
如果要更改网站目录必须要按上述方法修改防跨目录的设置,否则肯定报错!!

LNMP 1.4上如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在该行行前添加 # 或删除改行,需要重启nginx。

LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目录下的 ./remove_open_basedir_restriction.sh 进行移除。
在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。

LNMPA或LAMP 模式1.2版本以上的防跨目录的设置使用的对应apache虚拟主机配置文件(lnmp管理工具添加的话文件是 /usr/local/apache/conf/vhost/域名.conf )里的php_admin_value open_basedir参数进行设置。如果不需要设置可以在前面加 # 进行注释,或自行修改目录的限制。
重启apache生效。

##pathinfo设置##

LNMP上各个版本pathinfo各个版本的设置基本一样:

lnmp v1.1上,修改对应虚拟主机的配置文件(/usr/local/nginx/conf/vhost/域名.conf)
去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注释掉。

1.2,1.3上,修改对应虚拟主机的配置文件(/usr/local/nginx/conf/vhost/域名.conf)
将include enable-php.conf;替换为include enable-php-pathinfo.conf;

修改pathinfo需要重启nginx生效。

##数据库管理##

1.3以上版本,可以在添加虚拟主机时选择创建数据库,也可以单独使用 lnmp database add 按提示添加数据库,添加的用户名和数据库名是同名的。
添加数据库命令:lnmp database add
编辑数据库用户密码命令:lnmp database edit
删除数据库命令:lnmp database del
列出所有数据库命令:lnmp database list

转载于:https://www.cnblogs.com/coolly/p/8991689.html

LNMP添加、删除虚拟主机相关推荐

  1. LNMP添加、删除虚拟主机及伪静态使用教程

    一般情况下每个虚拟主机就是一个网站,网站一般通过域名进行访问. LNMP 1.2的网站添加过程和LNMP 1.1的基本类似,但是增加了FTP和数据库的创建.LNMP1.2的防跨目录也由原来在php.i ...

  2. 添加网站(虚拟主机)

    ##添加网站(虚拟主机)## 如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除. 执行:lnmp vhost add 出现如下界面: 这里要输入要添加网站的域名,我们已添加w ...

  3. 在Win2003服务器系统中添加Web虚拟主机(图)

    很多朋友对服务器新建虚拟主机不是很清楚,其实看别人操作一下就很简单了.主要是主机头. 在同一台物理服务器中配置多个Web网站,很多用户会选择在服务器中添加多个IP地址,然后将每个Web站点分别指向不同 ...

  4. linux下无法删除文件夹,linux服务器下完美解决无法删除虚拟主机文件或文件夹...

    出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下的用户又没有管理员用户组的权限,因此无法删除. 大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除 ...

  5. lnmp下配置虚拟主机

    一:首先熟悉几个命令 which php      --->  which是通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件 whereis php   ----& ...

  6. linux添加删除虚拟ip,Linux增加/删除虚拟ip

    在网卡eth1上添加一个虚拟ip 192.168.53.209 1.添加ip root@ubuntu:~# ip addr add 192.168.53.209/32 dev eth0 2.查看添加的 ...

  7. 部署OpenStack问题汇总(五)--openstack中删除虚拟主机,状态一直未deleting

    [原创文章,转载请注明出处] 一.我重启了该机器,之后想删除没有创建成功的虚拟机(没有打开cpu的vt),结果发现状态一直为deleting状态.在这个状态下创建虚拟机也失败. 二.分析:在/var/ ...

  8. 《转》openstack中删除虚拟主机,状态一直deleting

    一.我重启了该机器,之后想删除没有创建成功的虚拟机(没有打开cpu的vt),结果发现状态一直为deleting状态.在这个状态下创建虚拟机也失败. 二.分析:在/var/log/nova/nova-c ...

  9. lnmp环境如何添加域名和虚拟主机

    2019独角兽企业重金招聘Python工程师标准>>> 当你在centOS系统中安装设置lnmp环境之后,接下来要做的就是添加域名和虚拟主机了.提示:如果输入有错误需要删除时,可以按 ...

  10. 编写一键备份MYSQL数据库脚本; 一键Nginx虚拟主机添加、删除脚本;

    1.编写一键备份MYSQL数据库脚本: 1)支持任意单个或者多个数据库的备份: 2)支持多个数据库.所有库备份: 思路: 备份mysql数据库命令 #到处mysql所有库的数据到mysql_all.s ...

最新文章

  1. php协议任意文件读取
  2. 创建emp表 oracle,Oracle中创建和管理表详解
  3. Django 3.2.5博客开发教程:实现网站首页
  4. 一种抑制undershoot/overshoot锐化算法介绍
  5. 腾讯旗下网站的很多URL都包含“cgi-bin”,是什么意思?他们后台用什么语言?...
  6. mybatis 不生效 参数_Mybatis-日志配置
  7. Spring Data JPA 禁止自动更新
  8. Compiler__visual_studio_2010_pro 激活码
  9. angular 和 backbone 区别
  10. VFP+6.0中文版教程--初级教程
  11. Python 电子书下载列表
  12. windows端口转发(端口映射)示例
  13. 计算机共享网络热点,手把手教你在win7电脑中设置共享wifi热点
  14. vue脚手架 编译速度慢95% emitting CopyPlugin
  15. 最新朋友圈转发截图生成装逼工具源码+实测可用
  16. Formality简单实用之1--RTLvsRTL
  17. arcgis,裁剪投影不一致的矢量和栅格
  18. 基于SkeyeVSS综合安防监控视频云平台实现智能视频监控系统解决方案
  19. discuz安装配置
  20. 怎么防止跨站请求伪造攻击(CSRF)

热门文章

  1. linux修改宽带拨号密码,Linux下ADSL拨号配置
  2. 清除office激活秘钥方法
  3. 设计模式(四):模板方法模式、迭代器和组合模式、状态模式
  4. 查看签名apk调试日志工具
  5. 阿里云对象存储OSS上传照片(附源码)
  6. 计算机二级考试报名如何上传照片?
  7. H2单元测试数据库使用调研
  8. 新浪微博热门话题(字符串处理)
  9. 三星手机服务器无影响,终于找到手机网速慢的原因了!原来有这么多讲究
  10. 【课程设计】 推箱子游戏(源码+详解)