阿里云轻量级应用服务器
系统版本:CentOS7.3
开放端口(22 端口等一切安装完毕后最好删除):
系统更新
yum -y update
安装 JDK1.8
查询是否已经安装
java -version
-bash: java: command not found #代表未安装
安装
yum install java
java -version
安装成功
安装 nginx 及配置
安装依赖库
gcc gcc-c++
yum install -y gcc gcc-c++
PCRE 库
yum install -y pcre pcre-devel
zlib
yum install -y zlib zlib-devel
openssl
yum install -y openssl openssl-devel
编译安装
创建 nginx 文件夹
mkdir /usr/local/server
mkdir /usr/local/server/nginx
mkdir /usr/local/server/nginx/temp
mkdir /usr/local/server/nginx/run
mkdir /var/temp
mkdir /var/temp/nginx
cd /usr/local/server/nginx
将 nginx-1.8.0.tar.gz 拷贝至 Linux 服务器此文件夹(可通过其它方式获取)
解压:
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
configure 参数设置
注意:将临时文件目录指定为/usr/local/server/nginx/temp,需要在/usr/local/server/nginx 下创建 temp 目录
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module --with-http_ssl_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
编译安装
make
make install
启动 nginx(安装目录默认在/usr/local/nginx)
cd /usr/local/nginx/sbin/
./nginx
访问网站,出现如下代表 nginx 安装成功
配置 nginx 开机启动
我使用的是在启动脚本/etc/rc.local 里加语句
mkdir /var/run/nginx
touch /var/run/nginx/nginx.pid
cd /usr/local/nginx/sbin/
./nginx
赋予权限
chmod +x rc.local
配置站点
创建对应文件夹
mkdir /usr/local/www
cd /usr/local/www
上传自己的静态资源备份,成功后如下:
配置 nginx 关联域名和站点
编辑 nginx.conf
vi /usr/local/nginx/conf/nginx.conf
在 http 里加入
#主站
server {
listen 80;
server_name tobeshrek.com;
location / {
root /usr/local/www/tobeshrek.com;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# 静态资源站点
server {
listen 80;
server_name resource.tobeshrek.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
location / {
index index.html index.htm;
}
}
重新加载配置文件
cd /usr/local/nginx/sbin
./nginx -s reload
访问成功
配置站点 SSL
开启 nginx 的 ssl 模块
创建 ssl 储存文件夹,如下:
mkdir /usr/local/nginx/conf/cert
将阿里云下载的免费 SSL 证书上传到该目录
在 nginx.conf 文件中配置,在 http 里修改和加入
#主站
server {
listen 80;
server_name tobeshrek.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
location / {
index index.html index.htm;
}
}
# 主站SSL加密配置
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name tobeshrek.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
ssl_certificate cert/2562917_tobeshrek.com.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/2562917_tobeshrek.com.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root /usr/local/www/tobeshrek.com; #站点目录。
index index.html index.htm;
}
}
# 静态资源站点SSL加密
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name resource.tobeshrek.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
ssl_certificate cert/2812408_resource.tobeshrek.com.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/2812408_resource.tobeshrek.com.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root /usr/local/www/resource.tobeshrek.com; #站点目录。
index index.html index.htm;
}
}
重新启动 nginx
cd /usr/local/nginx/sbin
./nginx -s quit
./nginx
访问域名,成功,Chrome 会有把小锁
安装 Docker
执行命令安装
yum -y install docker
更换中科大的源
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
ecs -> :wq 保存
重启 docker
systemctl restart docker
安装 MySQL
# 安装mysql:5.6,直接docker run 他会自动去官方镜想下载
# MYSQL_ROOT_PASSWORD=你的数据库密码
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你的数据库密码 -d mysql:5.6
# docker安装的mysql默认允许远程连接,可以使用Navicat等软件连接数据库
# 进入容器mysql
docker exec -it mysql bash
# 进入数据库 p后面跟你的密码
mysql -uroot -pXXX
#操作
#退出数据库
exit
#退出容器
exit
安装 Solo 开源博客
进入 MySQL 创建 solo 数据库
#如果进入时提示容器为运行则,运行数据库镜像
docker run mysql
# 进入容器mysql
docker exec -it mysql bash
# 进入数据库 p后面跟你的密码
mysql -uroot -pXXX
# 创建数据库(数据库名:solo;字符集utf8mb4;排序规则utf8mb4_general_ci)
create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
# 出现Query OK, 1 row affected (0.00 sec)表示成功
#退出数据库
exit
#退出容器
exit
拉取镜像,成功如下图
docker pull b3log/solo
运行 solo 镜像
docker run --detach --name solo --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="你的数据库密码" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=true&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
b3log/solo --listen_port=8080 --server_scheme=https --server_host=blog.tobeshrek.com --server_port=
配置 nginx 反向代理
ssl 文件传到服务器/usr/local/nginx/conf/cert 目录下
# solo博客站点
upstream backend {
server localhost:8080; # Solo 监听端口
}
server {
listen 80;
server_name blog.tobeshrek.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
location / {
index index.html index.htm;
}
}
# 静态资源站点SSL加密
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name blog.tobeshrek.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
ssl_certificate cert/2785998_blog.tobeshrek.com.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/2785998_blog.tobeshrek.com.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://backend$request_uri;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
}
}
重载 nginx 配置文件
cd /usr/local/nginx/sbin
./nginx -s reload
安装成功
安装 FTP 服务器->vsftpd
yum 安装
yum -y install vsftpd #安装
rpm -qa |grep vsftp #查看是否安装了vsftp
rpm -e vsftpd-3.0.2-25.el7.x86_64 #卸载
放行阿里云控制台防火墙
20、21、30000/30999
一些指令(按情况执行对应指令)
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
service vsftpd start #启动vsftpd服务
service vsftpd restart #重启vsftpd服务
service vsftpd status #查询vsftpd服务状态
chkconfig vsftpd on #设置自启
创建 chroot_list 文件
vi /etc/vsftpd/chroot_list
测试一下能否登录 FTP 了,先安装一个 ftp 客户端组件
yum -y install ftp #安装ftp
ftp localhost #尝试登录
tail -f /var/log/secure #查看日志文件
配置文件放行 root 用户
# 在/etc/vsftpd 目录下
# 修改user_list和ftpusers文件
# 注释root用户,放行root用户
vsftpd.conf 文件配置,加上以下几行
# 227 解决227路由问题
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
pasv_address=106.15.91.0 #你的外网IP地址
/etc/vsftpd/目录结构
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于