linux 云服务器环境配置
jdk1.8安装及环境配置:
jdk1.8安装
①将jdk-8u161-linux-x64.tar.gz通过scp jdk-8u161-linux-x64.tar.gz root@cloudip:~/jdk-8u161-linux-x64.tar.gz(该命令是将本地文件上传到服务器的root目录下)
②通过 tar -zxvf jdk-8u161-linux-x64.tar.gz 解压该压缩文件
③ 删除压缩文件(可选,主要为节省空间)
环境变量的配置
输入命令vim /etc/profile,打开环境变量配置文件
在文件底部输入以下信息,并保存
JAVA_HOME=/home/java/jdk1.8.0_131
JRE_HOME=$JAVA_HOME/jre
PATH=JAVA_HOME/bin
CLASSPATH=.:JAVA_HOME/lib/tools.jar
export JAVA_HOME
export JRE_HOME
export PATH
export CLASSPATH
通过source 命令刷新profile环境配置,重启 输入 java -version 查看jdk状态
scp文件上传与下载
scp root@192.168.1.155:1.txt 2.txt (把服务器的1.txt下载到本地,并且重命名为2.txt)
scp 2.txt root@192.168.1.155:3.txt (把本地2.txt文件上传到服务器的root目录下,并且命名为3.txt)
关于nginx的一下骚操作
ngnix启动命令
$ nginx // 直接启动
ninix停止命令
$ nginx -s quit
修改s后重新加载生效
nginx -s reload
杀死所有nginx相关进程
pkill nginx
Docker骚操作
docker拉取镜像
docker pull [option]name[:tag]//可以到docker镜像中心查看
查看本机docker镜像
docker images
docker后台运行/停止容器
docker run -d imagename //返回容器id
docker run -d -p 8080:80 imagename //返回容器id,并将主机端口映射到该容器端口的80端口
docker stop imageId //镜像名字可简写
对容器系统环境进行操作的时候,若提示权限不足
需要在启动容器命令中加入参数 –privileged=true,
例如 docker run -d -p 8080:8080 –privileged=true imgid;
查看docker中运行的容器
docker ps
进入运行的docker容器
docker exec -it imageId bash//imageId的名字可以是简写,比如 nginx ng
查看docker容器日志
docker logs -f my-container-name
删除mysql,并重装
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* –purge
sudo apt-get remove apparmor
sudo apt-get install mysql-server mysql-common
基于docker 容器mysql安装wordpress
docker run -d -p 3306:3306 –name wp-mysql -e MYSQL_ROOT_PASSWORD=88888 -e MYSQL_DATABASE=peralblog mysql
docker run -d –name my-wp –link wp-mysql:mysql -p 80:80 wordpress//也就是说当容器需要使用到 另一个容器的时候需要 使用-link 参数
查看所有docker容器(包括已经停止的)
docker ps -a
docker容器关联的时候只需要使用–link my-sql:mysql 在程序中创建数据库连接的时候直接使用“jdbc:mysql://mysql:3306/sprepare?useUnicode=true&allowMultiQuerie=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull” 就行, 不过需要先给该用户授权,即以下的mysql 授权命令
更改某已关闭容器中的文件某容器
docker cp containername:/<文件路径/filename> . (注意末尾的 "."表示将容器中的文件复制到当前目录下)
在此编辑文件
docker cp filename containername:/<文件路径/filename> (将修改后的文件传回到容器中对应的位置,重启容器即可)
重启已经停止的某容器
docker start containername/containerid
停止/启动docker服务
systemctl stop/start docker
更改docker容器的端口映射
1) 停止容器
2) 停止docker服务(systemctl stop docker)
3) 修改这个容器的hostconfig.json文件中的端口(文件路径/var/lib/docker/containers/容器ID,修改参数HostPort为目标端口)
4) 停止docker服务(systemctl start docker)
5) 启动容器
ngnix反向代理
server{
listen80;
server_namewww.airi.net.cn;
location ^~/FrontSpare/ {
root/usr/share/nginx/;
indexindex.html;
}
location/ {
proxy_set_headerHost$http_host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_set_headerX-Real-Ip$remote_addr;
proxy_set_headerX-NginX-Proxytrue;
proxy_passhttp://172.16.252.133:9999/$document_uri;
proxy_redirectoff;
}
}
nginx代理配置的时候需要注意的点:
proxy_pass 后面的路径加”/”代表不将虚拟路劲加入到访问路径;反之,不加”/”代表将虚拟路径加入到访问路径中;例如
````
//(1) 加"/",实际访问路径为 www.airi.net.cn/weather
location/life/ {
proxy_pass http://172.16.252.133:9099/;
}
//(2) 不加"/",实际访问路径为 www.airi.net.cn/life/weather
location/life/ {
proxy_pass http://172.16.252.133:9099;
}
````
mysql授权命令
grant all privileges on . to root@’%’ identified by ‘123’
mysql修改数据库表的编码方式
修改表的编码方式:ALTER TABLE test DEFAULT CHARACTER SET utf8;
进入docker容器后发现在bash上无法输入中文
docker exec -it CONTAINER env LANG=C.UTF-8 bash
修改docker容器时区
TZ=Asia/Shanghai
ln -snf /usr/share/zoneinfo/TZ /etc/localtime && echoTZ > /etc/timezone
//docker run -d -p 9099:9099 –name life –link wp-mysql:mysql –link my-redis:redis mylife
宿主机文件与docker容器互相copy
docker cp 主机文件路径/file 容器名:/路径/file
docker cp 容器名:/路径/file 主机文件路径/file
Dockerfile(该文件和jar文件放在同一个目录下,并且没有文件后缀)
FROM daocloud.io/java:8
VOLUME /tmp
ADD spare-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 9999
ENTRYPOINT [“java”,”-Djava.security.egd=file:/dev/./urandom”,”-jar”,”/app.jar”]
ubantu 云服务器解决中文验证码乱码
1.先将Songti.ttc文件上传至docker容器的/usr/share/fonts文件夹下
2.安装mkfontscale: apt-get -y install fontconfig xfonts-utils(先更新apt-get update)
依次执行如下命令: mkfontscale,mkfontdir,fc-cache
重启docker容器