LNMP添加,删除虚拟主机(VHost)及伪静态(Rewrite)使用教程
LNMP环境搭建完成后就需要添加一个VHost才能让网站开始运行,本文承接
添加网站(虚拟主机)")
伪静态管理
上传网站程序
常用命令
默认网站(虚拟主机)配置文件位置配置文件位置")
pathinfo设置
数据库管理
已存在虚拟主机添加ssl证书开启https
添加网站(虚拟主机)
如果输入有错误需要删除时,可以按住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 -u root -p
输入密码以登陆
创建
CREATE DATABASE wordpress;
创建用户
CREATE USER wordpress@localhost;
设置密码
SET PASSWORD FOR wordpress@localhost=PASSWORD("your password");
配置权限
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'your password';
刷新权限配置
FLUSH PRIVILEGES;
推出mysql
Quit
如果要添加,需要先验证MySQL的root密码(注:输入密码将不显示)
提示Enter database name: 后输入要创建的数据库名称,要创建的数据库用户名会和数据库同名,回车确认。
提示Please enter password for mysql user 数据库名: 后输入要设置的密码,回车确认。
如果安装了FTP服务器会询问是否添加FTP账号
这里请参考
如果需要添加输入 y ,不添加输入 n 回车。
提示Enter ftp account name: 后输入要创建的FTP账号名称,回车确认。
提示Enter password for ftp account FTP账号: 后输入要设置的密码,回车确认。
接下来是1.4新增的添加SSL功能
关于HTTPS和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/
下面。
例如前面我们添加的虚拟主机,打开后前半部分配置会显示如下:
在root /home/wwwroot/www.vpser.net;
这一行下面添加:include wordpress.conf;
上面的wordpress.conf
为伪静态文件,如需要其他伪静态文件自己创建个并上传到/usr/local/nginx/conf/
下面并include 伪静态.conf;
加完保存,执行:/etc/init.d/nginx restart
重启生效,如果报错可能是添加有误或伪静态规则有误。
1.4及之前版本伪静态文件都在 `/usr/local/nginx/conf/ 目录下
1.5及之后版本伪静态文件都在 /usr/local/nginx/conf/rewrite
目录下
伪静态文件名称后面带2的是二级目录的伪静态,可以根据自己需求修改里面二级目录的名称或复制为其他名字后include到虚拟主机配置文件中。
上传网站程序
如果已经安装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
常用命令
列出网站(虚拟主机)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
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
已存在虚拟主机添加ssl证书开启https
对于已存在的虚拟主机添加https站点,可以执行:lnmp ssl add
命令添加ssl证书,目前有两种方式一种是使用自备的ssl证书,二是采用Let'sEncrypt的免费证书。添加过程和前面的添加虚拟主机的过程是一样的,只是会多一项填写ssl证书和key的步骤或直接选择Let'sEncrypt自动生成证书。
-
版权声明:本文为原创文章,版权归Joe所有,转载请注明出处.
本文链接:https://www.j000e.com/linux/lnmpvhost.html
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。