分类 Linux 下的文章

CentOS的目录大体上可分为四类:管理类、用户类、应用程序类、信息类文件目录。

管理类目录:
/boot linux 的内核及引导系统程序所需要的文件目录
/bin 存放标准 linux 的工具,在终端里输入ls,系统就系统将会到该目录查看是否存在该命令程序。
/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令
/var 这个目录的内容是经常变动的,用来存储经常被修改的文件,如日志、数据文件、邮箱等
/etc 主要存放系统配置方面的文件
/dev 主要存放与设备有关的文件
/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义

用户类目录:
/root 系统管理员目录
/home 主要存放个人数据

应用程序类目录:
/lib 该目录用来存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库
/tmp 临时目录,有些linux会定期清理
/usr 存放一些不适合放在/bin 或 /etc 目录下的额外工具,如个人安装的程序或工具
/usr/local 主要存放那些手动安装的软件,
/usr/bin 用于存放程序
/usr/share 用于存放一些共享数据
/usr/lib 存放一些不能不能直接运行,但却是许多程序运行所必需的一些函数库文件
/opt 主要存放可选程序,直接删除程序不影响系统其设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面

信息类目录:
/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。但当突然停电、或者非正常关机后,有些文件就临时存放在这里。
/proc 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里

其他重要目录:
/etc/rc.d 放置开机和关机的脚本。
/etc/rc.d/init.d 放置启动脚本
/etc/xinetd.d 配置xinetd.conf可以配置启动其他额外服务。
/usr/include 一些distribution套件的头文件放置目录,安装程序时可能会用到。
/usr/lib* 套件的程序库
/usr/local 默认的软件安装目录。
/usr/share/doc 系统说明文件的放置目录
/usr/share/man 程序说明文件放置目录
/usr/src 内核源代码目录
/usr/X11R6 X的存放目录

先装 Java SDK, Tomcat, Maven

cd /usr
wget http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/GraphicsMagick-LATEST.tar.gz
tar zxf GraphicsMagick-LATEST.tar.gz
rm -rf GraphicsMagick-LATEST.tar.gz
./configure
make
make install

cd /home
git clone https://github.com/langhsu/mblog
cd mblog/src/main/resources
#修改配置文件:application-mysql.yml
cd /home/mblog
#修改配置文件:pom.xml,将包类型改为 war
#sh build.sh
#sh run.sh start

#数据库
mysql -p8020 -uroot -p
create database db_mblog;
use db_mblog;
source /home/mblog/src/main/resources/scripts/schema.sql;
source /home/mblog/src/main/resources/scripts/migration/V3.2__update.sql;

java方式启动:java -jar target/mblog-latest.jar

cd target
mv mblog-latest.war ROOT.war
sh /usr/tomcat9/bin/shutdown.sh
rm -rf /usr/tomcat9/webapps/ROOT
mv ROOT.war /usr/tomcat9/webapps/
sh /usr/tomcat9/bin/startup.sh


vi /usr/tomcat9/conf/server.xml
cd /usr/tomcat9/webapps

1.安装需要的环境
yum install -y openssl-devel
yum install -y libevent2
yum install -y libevent-devel
yum install mysql-devel
yum install mysql-server

这里数据库使用mysql,也可以用其他数据库。
其中libevent2可能会安装失败,建议先下载下来然后传到服务器手动安装。

2.手动安装libevent2
官网地址:http://www.monkey.org/~provos/libevent/
1.下载最新的版本上传到/usr目录下并解压
wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz
tar zxvf libevent-2.1.11-stable.tar.gz
rm -rf libevent-2.1.11-stable.tar.gz

2.进入解压后的目录
cd libevent-2.1.11-stable

3.安装gcc
yum install gcc

4.设置安装路径
./configure -prefix=/usr

5.编译、安装
make && make install

3.安装coturn
1.在/usr目录下下载coturn

git clone https://github.com/coturn/coturn

若没有安装git,执行yum install git安装git

2.安装
cd coturn
./configure
make && make install

查看是否安装成功(若显示了安装路径则表示安装成功)
which turnserver

4.签名证书
cert和pkey配置的自签名证书用Openssl命令生成:
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes

执行命令后需要填写一些信息,随意填写即可

5.设置用户名和密码
使用命令生成密码turnadmin -k -u <用户名> -r north.gov -p <密码>,执行命令后屏幕会打印加密后的密码,请记住这个密码
turnadmin -k -u tuoling -r north.gov -p eee333
0xcf2f076caf51774d114e8ed8ac21fb38

6.在/etc目录下新建turnuserdb.conf文件,将用户名和上一步生成的密码填写进去然后保存退出。可以多生成几个用户名和密码
vi /etc/turnuserdb.conf
tuoling:0xcf2f076caf51774d114e8ed8ac21fb38

5.修改turnserver.conf配置文件
正确配置
vi /usr/local/etc/turnserver.conf
其中listening-ip与relay-ip采用内网ip,external-ip是外网的ip。

listening-ip=0.0.0.0
listening-port=3478
tls-listening-port=5349
relay-ip=103.196.127.20
external-ip=103.196.127.20
relay-threads=50
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
pidfile=/var/run/turnserver.pid
min-port=49152
max-port=65535
userdb=/etc/turnuserdb.conf
user=love:123456
cli-password=888999

6.运行coturn
执行命令运行coturn服务
turnserver -v -r 103.196.127.20:3478 -a -o -c /usr/local/etc/turnserver.conf

关闭命令:
执行 cat /var/run/turnserver.pid
找到进程后:kill

在浏览器输入
<外网ip>:3478,显示

表示启动成功,如果访问不了可能是服务器防火墙没有开启3478端口

7.开启防火墙端口

tcp和udp都要打开

firewall-cmd --permanent --add-port=3478/tcp
firewall-cmd --permanent --add-port=3478/udp

刷新防火墙

firewall-cmd --reload

查看当前开放的端口

firewall-cmd --list-port

如果还是不能访问,请考虑云服务的安全组策略是否同样开启了3478的tcp和udp端口。
8.网站检测穿透效果
访问:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
turn:103.196.127.20:3478
love
123456
点 Gather candidates 后,如果出现 rtp host、rtp srflx、rtp relay 3个不同IP则成功(分别对应本机内部、外部IP、服务器IP)

一、要求

1.centos或redhat7.0以上系统
2.内存2G以上

二、安装步骤

1.设置sqlserver安装镜像

curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo > /etc/yum.repos.d/mssql-server.repo

2.执行安装

yum install -y mssql-server

完毕之后运行 sudo /opt/mssql/bin/mssql-conf setup 做相关配置
输入2使用Developer(免费,无生产许可)版本,再输入 Yes 接受许可,选择语言,设置系统管理员密码

完毕之后即可启动完成,如果内存不够安装失败则重新命令

sudo /opt/mssql/bin/mssql-conf setup

3.下面查看我们安装的sql server版本

rpm -qa | grep mssql

4.查看安装的路径

find / -name mssql

5.设置开机启动

systemctl enable mssql-server

6.打开1433端口

firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload

7.几个命令

systemctl start mssql-server
systemctl restart mssql-server
systemctl stop mssql-server
systemctl status mssql-server

具体配置路劲为/opt/mssql/bin/mssql-conf

CentOS 8上安装MS SQL server

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
#SQL Server 2017使用python2和OpenSSL 1.0,你需要在不解析依赖关系的情况下安装软件包:
sudo yum -y install python2 compat-openssl10
sudo alternatives --set python /usr/bin/python2
sudo yum download mssql-server
sudo rpm -Uvh --nodeps mssql-server*rpm

再运行 sudo /opt/mssql/bin/mssql-conf setup 跟上面一样

安装SQL Server命令行工具
使用unixODBC开发包安装mssql-tools:

curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
yum -y install mssql-tools unixODBC-devel
vim /etc/profile.d/mssqltools.sh

输入内容:

export PATH=$PATH:/opt/mssql-tools/bin/

然后 source一下

source /etc/profile.d/mssqltools.sh

---------------- 自动备份 -----------------

2、添加crontab定时任务

crontab -e

添加定时任务,每天6点0分执行

0 6 * * * /home/backup/backup_mssql.sh

3、查看crontab定时任务

crontab -l

完整脚本代码:

#!/bin/bash
#sql备份目录
folder=/home/backup/db
cd $folder
day=`date +%Y%m%d`
#rm -rf $day
#mkdir $day
#cd $day
#数据库服务器,一般为localhost
host=localhost
#用户名
user=sa
#密码
password='mypassword'
#要备份的数据库
db=ASPState

#数据要保留的天数
days=5

#由于crontab命令是没环境变量,所以sqlcmd命令,要用全路径,否则定时执行会执行失败
/opt/mssql-tools/bin/sqlcmd -H$host -U$user -P$password -Q "
BACKUP DATABASE "$db"
TO DISK = '/home/backup/db/"$db$day".bak'
WITH FORMAT;
GO"

#删除之前的备份
#cd ..
day=`date -d "$days days ago" +%Y%m%d`
rm -rf "/home/backup/db/"$db$day".bak"
echo "remove "$db$day".bak"

---------------------- 相关操作 ----------------------

less /var/log/messages    系统日志
cat /dev/null>/var/log/messages    清除日志

下载
cd /usr/local/src/
wget http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/1.3/GraphicsMagick-1.3.21.tar.gz

解压
tar zxvf GraphicsMagick-1.3.21.tar.gz
rm -rf GraphicsMagick-1.3.21.tar.gz

安装
cd GraphicsMagick-1.3.21
./configure
make -j8
make install

测试
gm version

加入PHP:
yum install php71w-pear
yum install ImageMagick-devel
pecl install imagick

vi /etc/php.ini
加入行:extension=imagick.so

重启PHP:
service php-fpm stop
service php-fpm start

输出以下信息说明安装成功:
GraphicsMagick 1.3.21 2015-02-28 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2014 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
Native Thread Safe yes
Large Files (> 32 bit) yes
Large Memory (> 32 bit) yes
BZIP no
DPS no
FlashPix no
FreeType yes
Ghostscript (Library) no
JBIG no
JPEG-2000 no
JPEG yes
Little CMS no
Loadable Modules no
OpenMP yes (201107)
PNG yes
TIFF yes
TRIO no
UMEM no
WebP no
WMF no
X11 no
XML no
ZLIB yes

Host type: x86_64-unknown-linux-gnu

Configured using the command:
./configure

Final Build Parameters:
CC = gcc -std=gnu99
CFLAGS = -fopenmp -g -O2 -Wall -pthread
CPPFLAGS = -I/usr/include/freetype2
CXX = g++
CXXFLAGS = -pthread
LDFLAGS = -L/usr/lib
LIBS = -ltiff -lfreetype -ljpeg -lpng15 -lz -lm -lgomp -lpthread

OK,至此,GraphicsMagick安装完成。