群晖http接口开启CORS跨域支持

群晖的http接口默认是不支持跨域的,在DSM UI上也没有可以开启的地方。研究了一番,最终发现群晖是使用nginx实现的http接口。

既然是nginx,那就好办了,群晖的nginx配置文件在/etc/nginx/nginx.conf,找到自己想要的端口的server节点,add_header跨域所需要的头即可:

server {

……

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Allow-Credentials 'true';
add_header Access-Control-Allow-Headers 'X-Requested-With,Content-Type';

……
}

启动Linux时报unknown filesystem错误的解决方法

1、执行ls命令,查看当前一共有几个分区。一般会返回类似如下的文字:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

2、由于我们不知道哪一个是Linux分区,所以此时只能一个个进行尝试。
执行ls (hd0,msdosX)/,如果该分区不是Linux分区,会返回unknown filesystem,循环执行这个指令,直到返回出分区包含的内容而不是unknown filesystem

3、查看这个分区的内容,找到grub目录所在的位置(一般是grub/或boot/grub)

4、依次执行如下命令:
set root=第2步找到的分区号,例如set root=hd0,msdos3
set prefix=(第2步找到的分区号)/第3步找到的目录
,例如set prefix=(hd0,msdos3)/grub

5、执行insmod normal,若不报错,则证明我们找到了正确的分区,再执行normal,就可以进入grub的引导界面了。

6、我们之前的操作只是临时的修复,重启后仍会报错,所以进入Linux后,应当修复grub引导。进入终端,依次执行如下指令:
sudo update-grub
sudo grub-install /dev/sda

注:/dev/sda是Liunx安装磁盘的地址

通过haproxy对ss进行国内中转

很多人喜欢购买一台国外的VPS,然后搭建一个ss服务器供自己使用。然而国内部分网络(如校园网)对于访问国外地址十分不友好,时不时会出现无法连接或者速度很慢的情况。这时候我们可以购买一台国内的VPS,然后在国内的VPS上配置haproxy来对ss服务进行中转,从而实现加速的目的。具体步骤如下:

1、安装haproxy,我用的是一台CentOS服务器,只需要使用yum指令即可安装: yum install haproxy -y,对于其他的Linux发行版的安装方法,各位可自行Google之。
2、编辑haproxy配置文件,将/etc/haproxy/haproxy.cfg修改为如下内容:

global
ulimit-n 51200

defaults
log global
mode tcp
option dontlognull
timeout connect 1000
timeout client 150000
timeout server 150000

frontend ss-in
bind *:8388
default_backend ss-out

backend ss-out
server server1 ss服务器的地址:端口号 maxconn 20480

3、执行haproxy -f /etc/haproxy/haproxy.cfg以使修改生效

之后就可以通过国内VPS的地址来使用ss了。

使用Nginx反向代理Tomcat

一、配置Tomcat中的Web项目

编辑Tomcat安装目录/conf/server.xml文件,在默认的Host后插入一个新的Host,代码如下:

   <Host name="网站域名" appBase="" unpackWARS="true" autoDeploy="true">
            <Context path="" docBase="Web项目在本机的存放位置" debug="0" reloadable="true" crossContext="true" />
    </Host>

二、配置Nginx

1、进入Nginx安装目录(使用yum安装的Nginx为/etc/nginx)下的conf.d目录(低版本Nginx为conf目录)

2、新建一个.conf文件,内容如下:

server {
listen 80;
server_name 网站域名;

location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Linux 命令行界面下的百度网盘工具: bpcs_uploader

在Linux的命令行界面下,若想从百度网盘上传/下载文件,可以借助bpcs_uploader这个脚本,地址:https://github.com/oott123/bpcs_uploader

安装/初始化的步骤在上述网址中已经介绍的十分详细,在此不再赘述。这里介绍一下这个脚本配合VPS的一些好玩的用法:
1、下载国外服务器上的大文件时,可以先在国外VPS上(相信大部分朋友的VPS都是国外的吧,XD)用wget指令下载下来,再通过bpcs_uploader上传至百度网盘,再从百度网盘上下载到本机,速度比直接从国外服务器上下载快很多。
2、百度网盘现在的容量很大,因而可以借助bpcs_uploader将服务器中的数据自动备份至百度网盘,具体方法在此不做具体描述,各位可自行搜索"百度网盘 VPS 备份"来寻找教程。

在CentOS中使用Maven将项目直接部署至Tomcat 7

一、安装Maven及Tomcat
因为需要修改Maven及Tomcat的配置文件,因而建议不要使用yum方式进行安装,建议使用解压tar.gz的方式进行安装。具体安装方法不在本文的讨论范围内,读者可自行搜索。

二、配置Tomcat的用户
修改Tomcat 7安装目录\conf中的tomcat-users.xml,在<tomcat-users>段落中加入如下内容:

<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager,manager-gui,manager-script,admin-gui"/>

为方便讲解,此处用户名及密码均设置为tomcat,读者可自行更改。

三、修改Maven配置文件
修改Maven安装目录\conf中的settings.xml,在<servers>段落中加入如下内容:

<server>
<id>tomcat</id>
<username>tomcat</username>
<password>tomcat</password>
</server>

此处的用户名与密码应与第二步设置的一致。

四、修改项目的pom.xml
1、修改配置以部署为war文件
修改<packaging>段落(若没有则新建该段落),将该段落内容修改为:

<packaging>war</packaging>

2、加入tomcat7-maven插件
修改<build>段落(若没有则新建该段落),在该段落中加入如下内容:

<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat</server>
<username>tomcat</username>
<password>tomcat</password>
<path>/要部署的目录名</path>
</configuration>
</plugin>
</plugins>

五、将项目自动部署至Tomcat 7
1、在Tomcat已启动的情况下,在项目根目录中执行如下指令:mvn tomcat7:deploy,便会自动将项目部署至Tomcat。
2、第二次及之后部署,则应执行如下指令:mvn tomcat7:redeploy
3、必须在Tomcat已启动的情况下执行指令,否则会报错。

通过SSH远程连接CentOS 7的设置

一、开启22端口
CentOS 7的防火墙从iptables变为了firewalld,因而开启22端口的指令也需要相应进行改变:

firewall-cmd --permanent --add-port=22/tcp

运行后检查一下22端口是否已经开放:

firewall-cmd --permanent --query-port=22/tcp

若返回yes,则代表22端口已经开放。

二、手动开启SSH服务

service sshd start

三、开机自动启动SSH服务
为方便使用,可以设置开机后自动启动SSH服务:

chkconfig sshd on

四、接下来就可以使用SSH在远程连接CentOS 7了

在CentOS未联网的情况下,配置yum本地源以安装光盘中的软件

一、挂载光盘至/mnt/cdrom目录(也可为其他目录)
在终端中输入命令:mount -o exec /dev/cdrom /mnt/cdrom

二、配置yum本地源
1、进入/etc/yum.repos.d/目录
2、创建CentOS-Local.repo文件:vi CentOS-Local.repo,内容如下:

[Local]

name=Local

baseurl=file:///mnt/cdrom

gpgcheck=0

enabled=1

三、禁用yum自带远程源
1、进入/etc/yum.repos.d/目录
2、编辑CentOS-Base.repo文件,在每一段后都加入enabled=0