LNMP 如何配置虚拟主机(域名)并且外网访问教程
2018-05-16| 程成| 3005| 6| Linux

当我们安装和配置好 LNMP 环境后,然后就挂载代码,配置域名,让外网能够访问我们的服务器。


下面就是如何在 LNMP 下挂载代码,配置虚拟主机(域名)的【教程】:


一、挂载代码


这里我是自己下载了 Yii2-basic 版,稍加改动后,放在了如下的目录:


注:

“/data/www/yidian”目录也是我的 git 目录,这样以后本地修改代码,可以直接 push 到服务器上,方便本地调试。

《centos 安装和配置 git 环境》


image.png


我这里分了两个域名,后台域名“admin.chengcheng.com”,前台域名“www.chengcheng.com”。(域名随自己需要改变)。



二、添加域名


注:

Linux 下 hosts 配置文件位置是“/etc/hosts”,添加如下两条域名:


image.png



三、添加网站(虚拟主机)


注:

Linux 下 nginx 配置文件位置:/usr/local/nginx/conf/nginx.conf

进行下面操作时,删除键为“Ctrl + Backspace(删除键)”


1、执行 lnmp vhost add 后回车,出现如下界面:


image.png


2、这时候输入你的域名,我的是“admin.chengcheng.com”,然后回车


image.png


3、问你是否需要添加多个域名,这里我们将“www.chengcheng.com”域名也绑上,多个域名之间用空格间隔;如果不需要添加多个域名,则直接回车。


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


image.png


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


这里我们输入准备好的目录“/data/www/yidian/admin/web”


image.png


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


这里我们输入 y

image.png


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


这里直接回车跳过

image.png


7、这里是否设置日志,使用输入 y,不使用输入 n。这里我输入 y


image.png


8、如果启用需要再输入要设置的日志的名称,默认日志目录为:/home/wwwlogs/ 默认文件名为:域名.log。这里我们选择默认日志名称,回车确认


image.png


9、如果需要添加数据库输入 y ,不添加数据库输入 n 回车,我选择 n 回车。


如果要添加,需要先验证MySQL的root密码(注:输入密码将不显示)

提示Enter database name:后输入要创建的数据库名称,要创建的数据库用户名会和数据库同名,回车确认。

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


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



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




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

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


11、接下来是 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等相关信息,如下图:



image.png



注:这个时候去访问你的域名,如果访问不成功,执行下面的步骤:


image.png


其中 chattr 命令 是改变文件属性,-i 后可以任意改动文件。删除后再访问你的域名,这时候便可成功访问你的域名了。



image.png


四、如何避免手动删除 .user.ini 文件


每次配置一个域名后,都要删除 .user.ini 文件,你可能会觉得麻烦。这里你可以通过访问修改“/usr/bin/lnmp”文件,即可每次都不用生成 .user.ini 文件实现。


删除 /usr/bin/lnmp 文件中的


 cat >${vhostdir}/.user.ini<<EOF
open_basedir=${vhostdir}:/tmp/:/proc/
EOF
    chmod 644 ${vhostdir}/.user.ini
    chattr +i ${vhostdir}/.user.ini 


和下面一段 出现 .user.ini 的两行代码。(这里我自己已经删除了,忘记先复制出来了)


否则你删除已经配置好的域名时,会报错


image.png


注:记住,一共有两个地方!



五、删除配置好的虚拟主机方法(域名)


删除命令是 lnmp vhost del,然后会列出已经配置好的域名


image.png


再输入 admin.chengcheng.com 即可删除已经配置好的域名。



通过以上方法,你就可以正确访问你的域名了。






×
作者:程成
QQ:492245711