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

浏览器打开:

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下

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,776评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,527评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,361评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,430评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,511评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,544评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,561评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,315评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,763评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,070评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,235评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,911评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,554评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,173评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,424评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,106评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,103评论 2 352

推荐阅读更多精彩内容