Tagged: Centos

Install GitLab with Docker

环境:CentOS release 6.9 (Final)

安装Docker

yum search docker
yum -y install docker-io
service docker start

# 查看版本
docker version

下载Gitlab

docker pull gitlab/gitlab-ce:latest

启动Gitlab

docker run --detach \
    --hostname gitlab.bcsytv.com \
    --publish 443:443 --publish 80:80 --publish 2222:22 \
    --name 'gitlab' \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

常用命令

# 列出所有容器 
docker ps -a

# 列出最近一次启动的container
docker ps -l 

# 显示一个运行的容器里面的进程信息
docker top Name/ID  

# 查看容器内部详情细节
docker inspect <id/container_name>

# 启动容器并启动bash(交互方式)
docker run -i -t <image_name/continar_id> /bin/bash

# 启动容器以后台方式运行(更通用的方式)
docker run -d -it  image_name

# 附着到正在运行的容器
docker attach <id、container_name>

# 进入正在运行的容器内部,同时运行bash(比attach更好用)
docker exec -t -i <id/container_name>  /bin/bash

# 查看容器日志
docker logs <id/container_name>

# 实时查看日志输出
docker logs -f <id/container_name> (类似 tail -f) (带上时间戳-t)

# 在容器中安装新的程序
docker run image_name apt-get install -y app_name  

# 从容器里面拷贝文件/目录到本地一个路径
docker cp Name:/container_path to_path  
docker cp ID:/container_path to_path

# 保存对容器的修改(commit) 当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。
docker commit ID new_image_name  

# 删除单个容器
docker rm Name/ID 

# 删除所有容器
docker rm `docker ps -a -q`  

# 停止、启动、杀死、重启一个容器
docker stop Name/ID  
docker start Name/ID  
docker kill Name/ID  
docker restart name/ID

# 列出镜像
docker images

# 从dockerhub检索image
docker search image_name

# 下载image
docker pull image_name

# 删除一个或者多个镜像;
docker rmi image_name  

# 显示一个镜像的历史;
docker history image_name

# 发布docker镜像
docker push new_image_name

# ps:要发布到私有Registry中的镜像,在镜像命名中需要带上Registry的域名(如果非80端口,同时需要带上端口号)比如:
docker push dockerhub.yourdomain.com:443/hello.demo.kdemo:v1.0

# 查看docker0的网络(宿主机上操作)
ip a show docker0

# 查看容器的IP地址
docker inspect -f '{{ .NetworkSettings.IPAddress }}' <id、container_name>

# 附着到容器内部查看其内部ip:
ip a show eth0

Centos Install Mysql (解压缩版)

下载并解压Mysql

下载地址http://dev.mysql.com/downloads/mysql/ (选择Linux - Generic版本的Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed)

# 检查库文件是否存在,如有删除。
rpm -qa | grep mysql
rpm -e mysql-libs-5.1.52.x86_64 --nodeps

# 下载mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

# 解压
tar zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql

添加用户及用户组

# 检查mysql用户及用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql

# 创建mysql用户及用户组
groupadd mysql
useradd -r -g mysql mysql

授权

# 授权
cd /usr/local
chown -R mysql:mysql mysql/

安装

cd mysql

# 初始化(这里要记录下密码,后续会用到)
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# 创建执行程序软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

#启动mysql
./support-files/mysql.server start

# 拷贝文件到开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --list mysqld # 如果不存在则执行下面命令,存在则不执行下面命令
chkconfig --add mysqld

配置my.cnf

vi /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
user=mysql
character-set-server=utf8
collation-server=utf8_general_ci
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

初始化密码

mysql -u root -h 127.0.0.1 -p
# 这里的密码是刚才初始化时生成的随机密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
flush privileges;

常用命令

service mysqld start
service mysqld stop
service mysqld restart

Linux防火墙iptables使用记录

# 查看现有的iptables规则
iptables -L -n --line-numbers
 
# 删除某iptables规则
iptables -D INPUT 12
 
# 清除现有iptables规则
iptables -F
iptables -X
iptables -Z
 
# 创建规则 (开放端口)
#允许本机访问
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许从22端口进入的包返回
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
 
# 屏蔽ip
# 若需屏蔽整个ip段(123.0.0.1到123.255.255.254)则换为123.0.0.0/8
# 若需屏蔽ip段123.123.0.1到123.123.255.254,则换为124.123.0.0/16
# 若需屏蔽ip段123.123.123.1到123.123.123.254则换为123.123.123.0/24
iptables -I INPUT -s 123.123.123.123 -j DROP
 
# 设置开机启动
chkconfig --level 345 iptables on
 
# 保存iptables规则
service iptables save

Read more

Centos 搭建SVN服务器

# 查看是否已经安装SVN
rpm -qa subversion
 
# 安装SVN
yum -y install subversion
 
# 创建版本库
mkdir -p /svn/repos/svn1                      #创建目录
svnadmin create /svn/repos/svn1               #创建SVN版本库
 
# 配置账户
vi /svn/repos/svn1/conf/passwd
[users]
jalena = 123456
 
# 配置权限
vi /svn/repos/svn1/conf/authz
[svn1:/]
jalena = rw
* = rw
 
# svn1是具体版本库的标签
 
# 取消一些注释即可
vi /svn/repos/svn1/conf/svnserve.conf
[general]
anon-access = none                    # 非授权用户无法访问
auth-access = write                   # 授权用户有写权限
password-db = passwd                  # 密码数据所在目录
authz-db = authz
 
# 启动SVN
svnserve -d -r /svn/repos/    # 注意目录,不包含svn1
ps aux | grep svnserve | grep -v grep        # 查看服务是否启动
 
# 关闭SVN
killall svnserve              # 停止服务
 
# 开机启动
echo "svnserve -d -r /svn/repos/" >> /etc/rc.d/rc.local

测试SVN的服务器

svn://192.168.1.1/svn1

删除版本库

rm -rf /svn/repos/svn1

Win10 Hyper-V 内部网络联网设置

windows的Hyper-V简直就是操蛋中的极品。网络设置超级不人性化。

如果计算机没有连接路由器的情况下,使用默认的任何一种设置都无法正常与虚拟机连接。

这个问题折腾了好久。记录一下。

1.在Hyper-v管理器中,新建“虚拟交换机”,类型选“内部网络”

2.打开“网络和共享中心”,选中刚才建立的虚拟网卡及WIFI,右击,点“桥接”

3.等待生效

4.设置虚拟机网卡

这种方法好处在于没有网络的情况下也能与虚拟机互通,在有网络的情况下也是一样的!!!!!!

结束!

JSP环境搭建 centos Tomcat 9

软件包下载地址:

JAVA环境安装

yum -y update  # 升级系统
cd /usr/local
wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=111741 -O jre.tar.gz
tar zxvf jre.tar.gz
chown root:root jre1.8.0_66 # 默认的权限貌似不一样

echo "export JAVA_HOME=/usr/local/jre1.8.0_66" >> /etc/profile     # 写入JAVA_HOME
echo "export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar" >> /etc/profile # 写入JAVA_CLASSPATH
source /etc/profile  # 立即生效
env |grep JAVA # 查看是否生效
#JAVA_HOME=/usr/local/jre1.8.0_66
#CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar

ln -s /usr/local/jre1.8.0_66/bin/java /sbin/java # 创建程序快捷方式,否则会提示找不到程序

java -version
#java version "1.8.0_66"
#Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
#Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

Tomcat 安装

# 生产环境最好还是Tomcat 7合适!
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M1/bin/apache-tomcat-9.0.0.M1.tar.gz
tar zxvf apache-tomcat-9.0.0.M1.tar.gz
mv apache-tomcat-9.0.0.M1 tomcat
/usr/local/tomcat/bin/startup.sh #启动服务器
#Using CATALINA_BASE:   /usr/local/tomcat
#Using CATALINA_HOME:   /usr/local/tomcat
#Using CATALINA_TMPDIR: /usr/local/tomcat/temp
#Using JRE_HOME:        /usr/local/jre1.8.0_66
#Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
#Tomcat started.
/usr/local/tomcat/bin/shutdown.sh # 关闭服务器

Read more