最近阿里云海外节点促销,于是便入手了一台 1 核 1 G 的香港节点云服务器,购买香港节点的原因主要是免备案,操作起来比较方便。以前就想搭建一个自己的博客,可是由于各种原因一直没有实现。前段时间购买了一个域名,现在又有了云服务器,这次终于可以如愿了。
服务器配置
在阿里云上购买了云服务器实例后,需要做一些基本配置,方便以后操作。
新建普通用户
在阿里云管理控制台远程连接到云服务器,新建一个普通用户。
useradd -m -s /bin/bash username
命令会自动创建用户的登入目录,并指定用户登入后使用的 shell。
将普通用户加入 sudoer 列表
刚刚新建的普通用户默认是没有被添加到 sudoers 列表中的,需要 root 手动将用户添加到 sudoers 列表中,才能让普通用户执行 sudo 命令。
编辑 sudo 配置文件
vi /etc/sudoers
找到 root ALL=(ALL) ALL,在下面加一行
username ALL=(ALL) ALL
给普通用户增加 ssh 权限
建立普通用户后,普通用户不一定能通过 ssh 连接到服务器。可以在 /etc/ssh/sshd_config 中增加AllowUsers:username (可以多个,空格分开)给普通用户增加 ssh 权限。重启 ssh 以载入配置。
systemctl restart sshd.service
登录云服务器
新建好普通用户并配置好 ssh 后,使用终端工具登录云服务器。在 linux 中使用自带的终端模拟软件远程连接云服务器时,如果一段时间没有操作,连接或自动断开,终端模拟软件会卡死。解决这个问题有两个方案。
服务器端:让服务器发送“心跳”信号维持连接。
修改服务器的 sshd_config,在最后增加 #ssh server 每 60 秒就会自动发送一个信号给 client ClientAliveInterval 60 #如果 client 没有回应,就会记录下来直到记录数超过 ClientAliverCountMax 的值时,才会断开连接 ClientAliverCountMax 1
客户端:让客户端发送“心跳”信号维持连接。
修改客户端的 ssh_config #要保持连接 TCPKeepAlive yes #每隔 60 秒发送给服务器一个数据包 ServerAliveInterval 60
重新连接到云服务器后,使用 w 命令查看登录用户信息,发现刚才断开的用户信息还在,可以使用命令踢掉。
pkill -kill -t pts/0
还可以使用 kill
ps -ef | grep pts/0 查看进程号
kill -9 进程号
部署 Web 环境
采用“阿里云 linux 一键安装 Web 环境” 一键部署 Web 环境,包括安装 Nginx、MySQL、PHPWind 和 phpMyAdmin。
安装完成后环境目录如下:
目录名称 | 路径 |
---|---|
网站目录 | /alidata/www |
服务器软件目录 | /alidata/server |
MySql 目录 | /alidata/server/mysql |
php 目录 | /alidata/server/php |
nginx 目录 | /alidata/server/nginx/ |
nginx 配置文件 | /alidata/nginx/conf |
nginx | 可以修改 /alidata/server/nginx/conf/vhosts/phpwind.conf |
配置域名解析以及服务器安全组
在阿里云控制台进行域名解析的操作。并且配置相应的安全组,使得服务器 80 端口可用。
安装 WordPress
修改 nginx 配置,将 phpwind 的端口由 80 改为其他,腾出 80 端口供 WordPress 使用。
在 vhosts 目录下新建 WordPress 的配置文件 wordpress.conf。
server {
listen 80;
server_name localhost;
index index.html index.htm index.php;
root /alidata/www/blog;
try_files $uri $uri/ /index.php?$args;
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
include fastcgi_params;
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
#博客的图片较多,更改较少,将它们在浏览器本地缓存15天,可以提高下次打开我博客的页面加载速度。
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 15d;
}
#js、css 在浏览器本地缓存 1 天
location ~ .*\.(js|css)?$
{
expires 1d;
}
#include /alidata/server/nginx/conf/rewrite/phpwind.conf;
access_log /alidata/log/nginx/access/wordpress.log;
}
使用 scp 命令将 WordPress 压缩包上传到服务器的 www 目录,解压,修改目录名为 blog。修改 blog 及其中文件的所属用户和所属组为 www。
在浏览中输入 域名/wp-admin/setup-config.php 安装 WordPress。