Mac 常用操作

一、常用命令

Linux的五个查找命令:find,locate,whereis,which,type

1、find

$ find <指定目录> <指定条件> <指定动作>
find . -name "my*" -ls // 搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
find . -type f -mmin -10 // 搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

2、locate

locate /etc/sh // 搜索etc目录下所有以sh开头的文件
locate -i ~/m // 搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

3、whereis

只能用于程序名的搜索
eg: whereis grep

4、which

在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果)
eg: which grep

5、type

用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的
type grep

二、java

1、jdk 安装

安装后地址一般在 /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

2、环境变量

修改 ~/.profile,加上

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

三、几个lib

1、openssl(apr需要的openssl版本在1.0.2之上)
  • which openssl 查看本机安装地址,删除旧版本
  • 前往openssl下载较新版本,解压并进入目录
  • ./Configure darwin64-x86_64-cc(如果不是64位则略过)
  • ./config --prefix=/usr/local/openssl -fPIC
  • sudo make
  • sudo make install
  • sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
2、APR(在IDEA中启动tomcat会用到)
  • 下载 apr apr-iconv apr-util & 解压
  • 进入apr目录,./configure --prefix=/usr/local/apr & make & make install
  • 进入apr-iconv目录,./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr & make & make install
  • 进入apr-util目录,./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv & make & make install
  • 进入 tomcat /bin 下的 tomcat-native 目录
  • ./configure --with-apr=/usr/local/apr --with-ssl=/usr/local/openssl & make & make install
  • 修改 ~/.profile,加上 export LD_LIBRARY_PATH=/usr/local/apr/lib

注意:
1)安装tomcat-native 的时候一定要带上 --with-ssl=/usr/local/openssl,否则出错Failed to initialize the SSLEngine. org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform

2)如果安装后在执行sh catalina.sh run时仍然报错
[main]org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [xxx:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.], 把 apr 加到路径中即可
sudo ln -s /usr/local/apr/lib/libtcnative-1.dylib /Library/Java/Extensions/

四、nginx & tomcat

1、 nginx

安装:brew install nginx
检查安装是否成功:nginx -V
查看路径:which nginx
启动:sudo nginx
使用指定配置文件启动:sudo nginx -c /opt/nginx/1.6.2/conf/nginx.conf
关闭:sudo nginx -s stop
优雅关闭(旧的请求完成后才退出):sudo nginx -s quit
重载配置文件:sudo nginx -s reload
测试配置是否有语法错误:sudo nginx -t
查看启动进程:ps -ef|grep nginx
浏览器打开:http://localhost:8080/

nginx.conf 地址一般是:/usr/local/etc/nginx/nginx.conf

2、tomcat

装了两个 tomcat, 地址如下:

  • /somefolder/apache-tomcat-8-no1
  • /somefolder/apache-tomcat-8-no2

修改./conf/目录下的 server.xml 文件,port 分别改为 81xx 和 82xx。

启动tomcat:

  • sh /somefolder/apache-tomcat-8-no1/bin/startup.sh
  • sh /somefolder/apache-tomcat-8-no2/bin/startup.sh

关闭tomcat:

  • sh /somefolder/apache-tomcat-8-no1/bin/shutdown.sh
  • sh /somefolder/apache-tomcat-8-no2/bin/shutdown.sh

浏览器打开:

  • http://localhost:8180/
  • http://localhost:8280/
3、用 nginx 做 tomcat 的反向代理

编辑 /usr/local/etc/nginx/nginx.conf

a. 在 http 下面加上

    upstream localhost {
        #ip_hash; # 用户的 IP 来 hash 的方式,这样每个 client 的访问请求都会被甩给同一个后端服务器
        server localhost:8180;
        server localhost:8280;
    }

b. 在 http -> server 下面加上

    location / {
        root html;
        index index.html index.htm;
        proxy_pass  http://localhost;  // 对应上面添加的 upstream localhost
        proxy_set_header X-Real-IP $remote_addr; // 获取用户的真实ip,如果不设置的话,开启反向代理后,request.getRemoteAddr() 取到的是 nginx 的 ip 地址
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; // 增加一个 $proxy_add_x_forwarded_for 到请求头里的 X-Forwarded-For 中去,
        proxy_redirect HOST default; 
    }

遇到的问题:

  1. 在mac的Nginx环境中,修改了配置文件,重启或停止服务报了如下错误:
    nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx.pid"
    解决方法:sudo pkill -9 nginx
4、网站动静分离

静态资源(HTML,JavaScript,CSS,img等文件)放到nginx中,动态资源转发到tomcat服务器中。
编辑 /usr/local/etc/nginx/nginx.conf

//动态资源
  location ~ \.(jsp|jspx|do|action)(\/.*)?$ { //动态请求转发到tomcat服务器,匹配方式可自定义
            #设置真实ip
            proxy_set_header real_ip $remote_addr;  //real_ip 设置变量名,可以通过web端获取
            proxy_pass http://127.0.0.1:8080;
        }
 //静态资源    
 location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ { //静态资源到nginx服务器下static(具体目录自定义)获取
            root static;
        }

在nginx下创建static文件夹
mkdir /usr/local/etc/nginx/static
并且拷贝静态资源到static下

你可能感兴趣的:(Mac 常用操作)