阿里云安装配置Ghost
阿里云手动重装系统N次了,折腾不止。 系统环境 CentOS 6.3 X64 , 两块硬盘 系统 +数据盘
#重新挂载硬盘
[root@AY14040623435015772eZ ~]# fdisk -l
Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00073f45
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 2611 20970496 83 Linux
Disk /dev/xvdb: 10.7 GB, 10737418240 bytes
255 heads, 56 sectors/track, 1468 cylinders
Units = cylinders of 14280 * 512 = 7311360 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb3338ad8
Device Boot Start End Blocks Id System
/dev/xvdb1 1 1468 10481492 83 Linux
#挂载数据盘
[root@AY14040623435015772eZ ~]# mount /dev/xvdb1 /opt/
#查看挂载情况
[root@AY14040623435015772eZ ~]# df -l
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 20641404 1062512 18530368 6% /
tmpfs 509400 0 509400 0% /dev/shm
/dev/xvdb1 10316940 238316 9554552 3% /opt
数据也回来了
#安装NodeJS环境
#yum update
#yum install wget
#wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gz
#tar zxvf node-v0.10.28-linux-x64.tar.gz
https://nodejs.org/dist/v4.4.1/node-v4.4.1-linux-x64.tar.xz
tar -xvf node-v4.4.1-linux-x64.tar.xz
#配置环境变量
#vi /etc/profile
#输入保存
#set for nodejs export NODE_HOME=/opt/node-v0.10.28-linux-x64 export PATH=$NODE_HOME/bin:$PATH export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH
#保存退出
#:wq
#重启生效
#source /etc/profile
#检查是否安装成功
#node -v
#npm –v
#安装Chost
cd /opt
wget http://dl.ghostchina.com/Ghost-0.4.2.zip (官网需要墙)
unzip -uo ghost-0.4.2.zip -d ghost
cd ghost
更换NPM镜像(或http://registry.npm.taobao.org)
npm config set strict-ssl false
npm config set registry http://registry.cnpmjs.org
#强制编译 SQLite3
npm install sqlite3 --build-from-source
#npm install --production
#以开发模式启动Ghost
npm start
前面提到的启动 Ghost 使用 npm start 命令。这是一个在开发模式下启动和测试的不错的选择,但是通过这种命令行启动的方式有个缺点,即当你关闭终端窗口或者从 SSH 断开连接时,Ghost 就停止了。为了防止 Ghost 停止工作,有两种方式解决这个问题
Ghost 一直运行
通过 npm install forever -g 安装 forever
为了让 forever 从 Ghost 安装目录运行,输入 NODE_ENV=production forever start index.js
通过 forever stop index.js 停止 Ghost
通过 forever list 检查 Ghost 当前是否正在运行
#安装Nginx
yum -y install gcc gcc-c++ autoconf automake make zlib zlib-devel openssl openssl--devel pcre pcre-devel
cd /opt
wget http://nginx.org/download/nginx-1.7.1.tar.gz
mkdir nginx
tar zxvf nginx-1.7.1.tar.gz
cd nginx-1.7.1
./configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_gzip_static_module
make && make install
配置Nginx
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 5;
gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#root /alidata1/ghost;
#access_log logs/host.access.log main;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:2368;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
安装MySQL
查看系统是否安装了MySQL
rpm -qa | grep mysql
卸载已安装的MySQL
rpm -qa | grep mysql
rpm -e --nodeps mysql-libs-5.1.61-4.el6.x86_64
#可下载的版本
yum list | grep mysql
#安装Mysql
yum install -y mysql-server mysql mysql-deve
#查看
rpm -qi mysql-server
#启动mysql服务 首先会初始化配置
service mysqld start
#重启Mysql的服务
service mysqld restart
#开机自动启动
chkconfig --list | grep mysqld
chkconfig mysqld on
#为root账号设置密码
mysqladmin -u root password '123456'
#修改编码
vi /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set = utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
#登录Mysql查看编码
mysql -u root -p
show variables like 'char%';
show variables like 'collation%';
配置Chost的数据库为Mysql
首先注释掉packages.json总得sqlite3 ,还有就是CentOS中默认的glibc版本过低,需要强制源码编译sqlite,现换mysql,就没有必要安装了。
#创建数据库
mysql -uroot -p -e 'create database ghost;'
#配置Mysql连接(只修改 production 一节的配置信息)
cp config.example.js config.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // ### Production // When running Ghost in the wild, use the production environment // Configure your URL and mail settings here production: { url: 'http://zhouyongtao.com' , mail: {}, database: { client: 'mysql' , connection: { host : '127.0.0.1' , user : 'root' , //我们暂且用 MySQL 的 root 账户 password : '123456' , //输入你的 MySQL 密码 database : 'ghost' , //我们前面为 Ghost 创建的数据库名称 charset : 'utf8' } }, server: { // Host to be passed to node's `net.Server #listen()` host: '127.0.0.1' , // Port to be passed to node's `net.Server #listen()`, for iisnode set this to `process.env.PORT` port: '2368' } }, |
#安装Chost
npm install --production
#查询数据库
Refer:
http://www.bokeyy.com/post/ghost-install-in-vps-solution-in-china.html
http://www.oschina.net/news/53128/public-cd
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述