非常高兴能记录这个网站的诞生过程。文章还算细,涵盖了坑和命令行,如果你会了,那就跳过吧!
原文点击这里:http://www.zengxianhua.com/2016/02/11/di-yi-pian-bo-ke-xin-sheng-er
==第一个坑==,理解Linux系统的分类,基本上分两大类:
- RedHat系列:Redhat、Centos、Fedora等
- Debian系列:Debian、Ubuntu等
命令工具包是不一样的,具体如下:
RedHat 系列:
- 常见的安装包格式 rpm 包,安装rpm包的命令是 “rpm -参数”
- 包管理工具 yum
- 支持tar包
Debian系列:
- 常见的安装包格式 deb 包,安装deb包的命令是 “dpkg -参数”
- 包管理工具 apt-get
- 支持tar包
选择你熟悉的包管理工具的服务器吧!
1.购买服务器
嗯!我购买的是 阿里云 的Centos系列服务器,以下教程都围绕着 yum 包管理工具开展,按各自所需购买吧!
2.购买域名
域名很重要,好记或不好记?比如我这个网站是 zengxianhua.com
,是我朋友的应该会觉得好记。
Godaddy 是全球最大的域名供应商,让你的毛爷爷飞一会。
接下来就是把域名和服务器绑定起来,直白一点,域名解析指定服务器 IP地址
,拿出你的探索能力 Do 她。
3.配置服务器
由于我使用的是 Mac OS X,有一些工具命名用词可能会不一样,首先登入服务器。
启动终端 Terminal
输入命令行:
ssh root@你的IP地址
回车,等待你输入服务器密码
输入密码后,出现如下图,说明连接服务器成功了。
安装一些必备的环境,直接用 yum 包管理工具安装就可以了。
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5* krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre pcre-devel GeoIP GeoIP-devel GeoIP-data patch
没错,一组命令 就是这么长,不要纠结排版。
耐心等待..................
3.1 安装Nginx
创建必要的 目录,用于放各种下载包
make /home/softsrc
安装 Nginx 所需的 pcre库:
cd /home/softsrc 强迫症开始了
wget http://sourceforge.net/projects/pcre/files/pcre/8.33/pcre-8.33.tar.gz/download
tar zxvf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make && make install
开始安装 Nginx
cd /home/softsrc 强迫症
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
vi auto/cc/gcc
#CFLAGS="$CFLAGS -g" 将这行代码注释掉,取消Debug编译模式。大概在179行左右
我们再配置下 Nginx 编译参数
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
添加 开机自启动
vi /etc/rc.local
在最后一行插入以下代码
/usr/local/webserver/nginx/sbin/nginx
3.2 安装MySQL
下载 MySQL
cd /home/softsrc 强迫症
wget wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz
tar -zxvf mysql-5.6.13.tar.gz
cd mysql-5.6.13
安装 cmake 软件包
yum install cmake
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_DATADIR=/media/raid10/mysql/3306/data/ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR==/media/raid10/mysql/3306/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
我们配置下 MySQL 的编译参数,一般配置下安装路径就可以了,如你有特殊配置也可以在安装之后修改参数,这里你大可以泡杯茶,编译需要较长的时间。
make
make install clean
添加 MySQL 用户
useradd mysql
cd /usr/local/webserver/mysql/scripts
chown -R mysql.mysql /usr/local/webserver/mysql
安装 数据库
cd /usr/local/webserver/mysql/scripts
./mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/media/raid10/mysql/3306/data --user=mysql
创建 my.cnf 配置文件
cd /usr/local/webserver/mysql/support-files
cp mysql.server /etc/rc.d/init.d/mysql
cp my-default.cnf /etc/my.cnf
复制 MySQL 管理脚本
cp mysql.server /etc/rc.d/init.d/mysql
复制 MySQL 配置文件
cp my-default.cnf /etc/my.cnf
添加 MySQL 服务
chkconfig --add mysql
加入 开机启动策略
chkconfig mysql on
service mysql start
通过以下命令 登录管理 MySQL 服务器(提示输入密码直接回车,这是用 root 登录的)
/usr/local/webserver/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
如果没有设置密码,密码留空,直接回车。
如果设置了密码,先输入密码,然后回车。
输入以下 MySQL 语句,用于创建一个具有 root 权限的用户,用户名是 admin,密码是 12345678。
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY '12345678' WITH GRANT OPTION;
flush privileges;
创建账号成功后,方便使用和登录。
3.3 安装Node.js
检查买回来的服务器是否默认安装了 Apache,这个是不需要的,为了怕引起冲突,我们必须卸载它。
yum -y remove httpd
检查一下 Python 的版本,一般默认是 2.4.3 版本的。
python -V
python 2.4.3
这个版本的 Python 偏低,没有办法安装 Node.js,所以我们需要升级。
cd /home/softsrc 强迫症
wget -c http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar jxvf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure
make && make install
安装完毕了,这个时候实际不起作用的,所以要用新版本替换旧版本成为默认。
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python2.7 /usr/bin/python
再次检查是否已经升级成功。
python -V
这个时候 Python 已经升级成功了,但是yum还是需要旧版本的才可以正常运行,如果我们调试升级整个 yum 没必要,所以只需要修改 yum 的配置文件就可以了。
vi /usr/bin/yum
修改第一行
#!/usr/bin/python 修改为 #!/usr/bin/python2.4
然后 esc
,再 :wq
保存退出就可以了。
终于到 Node.js 了。
cd /home/softsrc 强迫症
wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz
tar zxvf node-v0.10.24.tar.gz
cd node-v0.10.24
./configure
make && make install
用一下命令行查看安装是否成功。
node -v
npm -v
看到如下截图,恭喜你!
4.安装Ghost
确保你已经把 Node.js 安装好了
cd /home/softsrc 强迫症
wget --no-check-certificate https://ghost.org/zip/ghost-latest.zip
unzip ghost*.zip -d ghost
cd ghost
npm install --production 等待N长时间之后
先不要急着 npm start
,继续撸。
5.配置 Ghost 域名
使用 Nginx 作为你的 Web 服务器
配置你的站点
先创建 sites-available
、sites-enabled
目录
cd /usr/local/webserver/nginx
mkdir sites-available
mkdir sites-enabled
在 /sites-available/
目录下创建一个 ghost.conf
文件,使用文本编辑器打开这个文件
cd sites-available
touch ghost.conf
vi ghost.conf
把以下内容复制进这个文件
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
}
将 server_name
的值改为 你的域名
把你的配置文件软链接到 sites-enabled
文件夹下:
cd ..
sudo ln -s sites-available/ghost.conf sites-enabled/ghost.conf
/usr/local/webserver/nginx/sbin/nginx -s reload
在浏览器输入 你的域名
就可以看到属于你的Ghost博客了,你也来写你的第一篇博客吧!
Q&A
==第二个坑==,npm install --production
过程中,有可能失败,被墙?用咱国人提供的完整的安装,你就不用烦啦!-_- 吻我
==第三个坑==,当你的终端 Terminal
关闭后,Ghost也会随之关闭,然后你的博客就无法访问了,那怎么办?
如何让 Ghost 一直运行呢?
有两种解决方案,Forever 比较简单,另外一种请自行搜索吧!
- Supervisor
- Forever
- 通过
npm install forever -g
安装forever
- 为了让
forever
从 Ghost 安装目录运行,输入NODE_ENV=production forever start index.js
- 通过
forever stop index.js
停止 Ghost - 通过
forever list
检查 Ghost 当前是否正在运行
下一期:创业初期如何简省成本