标准输出: Java 中的 System.out 标准输出流, 默认输出到操作系统控制台, 向标准输出写的信息将出现在操作系统控制台上.
输出重定向: 将标准输出的方向从控制台转移定向到其他输出目标, 常见的输出目标是文件.
操作系统提供了一个符号 >
实现输出重定向
ls / 标准输出到控制台
ls / > list.txt 将ls命令的输出重新定向到list.txt文件
输出重定向的用途
与echo命令配合可以实现简便创建文本文件
echo abc>demo.txt
echo def>>demo.txt
一个案例: 利用一个脚本自动化实现创建Java文件并且编译执行Java程序
利用vim创建 demo.sh文件:
echo "public class HelloWorld{">HelloWorld.java
echo " public static void main(String[] args){">>HelloWorld.java
echo ' System.out.println("Hello World!");'>>HelloWorld.java
echo " }">>HelloWorld.java
echo "}">>HelloWorld.java
cat HelloWorld.java
javac HelloWorld.java
java HelloWorld
执行:
chmod +x demo.sh
./demo.sh
Nginx 是一款高性能的Web服务器软件.
Nginx 反向代理集群可以解决网站的高并发问题!
开源软件:
商业软件
等
Java EE WEB 服务器也称为 Java WEB 容器.
安装
yum -y install nginx
启动
systemctl start nginx.service
关闭
systemctl stop nginx.service
重新启动
systemctl restart nginx.service
设置开机启动
systemctl enable nginx.service
检查
ps -A|grep nginx
测试:
http://ip地址
参考文档: http://nginx.org/en/docs/configure.html
安装步骤:
下载源代码
wget http://nginx.org/download/nginx-1.12.2.tar.gz
创建nginx用户
useradd nginx
创建 nginx 的安装目标目录
mkdir /usr/local/nginx
安装编译时候需要的依赖包(可选)
yum -y install pcre-devel openssl openssl-devel
释放并且编译
tar -zxf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --user=nginx
--with-httpsslmodule
make
make install
具体实验步骤:
cd
cp -r /usr/local/nginx/nginx-1.12.0 .
useradd nginx
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx --user=ngin --with-http_ssl_module
make
make install
运行Nginx
nginx -c /usr/local/nginx/conf/nginx.conf
检查进程
ps -A|grep nginx
开启防火墙的80端口(可选操作)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
测试, 用浏览器访问
http:/192.168.17.70
Nginx的功能是通过配置文件实现的, 使用Nginx就是会使用Nginx的配置文件.
nginx配置文件位置:
Nginx配置文件结构
通用(全局)配置参数
http{
http 协议通用参数
server{
虚拟机配置参数
}
server{
虚拟机配置参数
}
}
worker_processes
建议按照处理器数量进行设置, 4处理器设置为4
worker_processes 1;
每个进程的线程数量, 就是进程中线程池的大小.
events {
worker_connections 1024;
}
pid 文件用于存储 Nginx 主进程号
ContentType 类型映射, 也就是多媒体文件类型映射.
include mime.types;
default_type application/octet-stream;
使用include指令简化主配置文件.
keepalive 指定HTTP/1.1 协议时候的服务器端的长连接等待超时时间
keepalive_timeout 65;
对服务器的响应进行gzip压缩传输, 可以节省网络流量. 但是问题有两个, 一个是老旧浏览器(IE6)不支持, 第二个会占用服务器的处理器.
gzip on;
更新 Nginx配置文件实验
cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.2018.5.3
vim nginx.conf //开放 http 访问日志, 开放gzip压缩
//测试配置文件
nginx -t -c /usr/local/nginx/conf/nginx.conf
//热加载配置文件: 不停止nginx服务的情况下加载配置文件
nginx -s reload
用浏览器进行测试 查看 nginx/logs/access.log 日志文件
在一个Web服务器上通过服务器软件模拟多台Web 服务器, 其中每个虚拟的Web服务器称为一个虚拟主机. 虚拟主机的好处是可以充分复用同一个web服务器. 对于用户来说, 用户感觉是多个网站.
Nginx 配置文件中 每个 server{} 块对应一个虚拟主机
虚拟主机有3种:
本地解析域名实验
cd /etc
cp hosts hosts.2018.5.3
ping t1.canglaoshi.org //不通
vim hosts 添加 10.7.11.19 t1.canglaoshi.org
添加 10.7.11.19 t2.canglaoshi.org
ping t1.canglaoshi.org //通了 结束命令 Ctrl + C
ping t2.canglaoshi.org //通了
windows 实验
用记事本编辑: C:\Windows\System32\drivers\etc\hosts
notepad hosts
添加 10.7.11.19 t1.canglaoshi.org
添加 10.7.11.19 t2.canglaoshi.org
ping t1.canglaoshi.org 通了
ping t2.canglaoshi.org 通了
搭建Nginx基于域名的虚拟主机
编辑Nginx配置文件 nginx.conf
# 请求 t1.canglaoshi.org 访问 t1文件夹 index.html文件
server{
listen 80;
server_name t1.canglaoshi.org;
location / {
root t1;
index index.html;
}
}
# 请求 t2.canglaoshi.org 访问 t2文件夹 index.html文件
server{
listen 80;
server_name t2.canglaoshi.org;
location / {
root t2;
index index.html;
}
}
在Nginx文件夹/usr/local/nginx中添加新文件夹t1,t2和文件index.html
<html>
<body>
<h1>Hello t1.canglaosho.org</h1>
</body>
</html>
测试:
http://t1.canglaoshi.org
http://t2.canglaoshi.org