前言
VestaCP 是国外的一个老牌的开源的主机控制面板,界面简洁清晰。
官网:http://www.vestacp.com
开始
首先运行指令安装VestaCP而安装速度取决于VPS的性能,程序安装需要 15 分钟左右,不过笔者这里不到10分钟即安装完了~~
**# Download installation script**
curl -O http://vestacp.com/pub/vst-install.sh
**# Run it**
bash vst-install.sh
在登录后VestaCP,单击页面顶部的“WEB”。
然后,单击“➕”。
新建网站,输入你的域名。
[scode type="green"]建议开启SSL加密[/scode]
在创建网站完成后,前往“数据库”页面新建数据库。
注意,如注释所说新建的数据库名称会自动添加前缀"admin_"
例如你输入test,那么新建的数据库名称则为"admin_test"
完成以上操作,我们可以上传程序了
此处建议使用Xftp软件,因为VestaCP是没有在线文件管理的
连接上服务器后,访问目录"/home/admin/web/此处是你刚刚创建的网站的域名/public_html"
这相当于你的网站的根目录,上传程序即可。
然后按照正常流程安装就好了~~
伪静态部署
[scode type="yellow"]基于环境为Nginx的用户[/scode]
在VestaCP,当我们添加网站的时候:可以看到有个叫做Web模板nginx的,这是Vesta关于一些程序做的预制,我们所需要的伪静态设置也包括于其中。
可见,程序没有针对Typecho做针对的预制,但是我们可以自行添加。
继续使用Xftp,访问目录"/usr/local/vesta/data/templates/web/nginx/php-fpm"
我们可见每个模板都有分别为 .stpl 和 .tpl 两个后缀的文件
.stpl 是https模式下的,同理 .tpl 是http模式下的。
以下是添加typecho伪静态规则的代码的模板,创建文件复制代码;上传至上述模板目录,然后于后台处使用即可。(注意需要.tpl和.stpl的都上传一份)
server {
listen %ip%:%web_port%;
server_name %domain_idn% %alias_idn%;
root %docroot%;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/%domain%.log combined;
access_log /var/log/nginx/domains/%domain%.bytes bytes;
error_log /var/log/nginx/domains/%domain%.error.log error;
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location /vstats/ {
alias %home%/%user%/web/%domain%/stats/;
include %home%/%user%/conf/web/%domain%.auth*;
}
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;
include %home%/%user%/conf/web/nginx.%domain%.conf*;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-e $request_filename){
rewrite (.*) /index.php;
}
}
server {
listen %ip%:%web_ssl_port%;
server_name %domain_idn% %alias_idn%;
root %sdocroot%;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/%domain%.log combined;
access_log /var/log/nginx/domains/%domain%.bytes bytes;
error_log /var/log/nginx/domains/%domain%.error.log error;
ssl on;
ssl_certificate %ssl_pem%;
ssl_certificate_key %ssl_key%;
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location /vstats/ {
alias %home%/%user%/web/%domain%/stats/;
include %home%/%user%/conf/web/%domain%.auth*;
}
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;
include %home%/%user%/conf/web/snginx.%domain%.conf*;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-e $request_filename){
rewrite (.*) /index.php;
}
}
以下是我遇到的一些问题
typecho无法上传照片
应该是权限的问题?运行代码修改权限组即可。
chown -R admin:admin /home/admin/web/你的网站/public_html/usr/