[Tips] Mac 使用 Apache / Tomcat / MySql

Apache

Mac 下自帶了 Apache 服務(wù)

位置:/usr/sbin/apachectl

啟動(dòng):sudo apachectl start
重啟:sudo apachectl restart
關(guān)閉:sudo apachectl stop

存儲(chǔ)文件位置:/Library/WebServer/Documents
配置文件位置:/etc/apache2/httpd.conf

修改其中的兩處/Library/WebServer/Documents為你自己的位置即可

<Directory />
     AllowOverride none
     Require all granted
     Allow from all
</Directory>
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
    Options Indexes FollowSymLinks Multiviews
    MultiviewsMatch Any
    AllowOverride All
    Require all granted
</Directory>

在瀏覽器輸入地址:http://127.0.0.1
查看是否連接成功
手機(jī)和電腦連同一網(wǎng)絡(luò)蓝翰,輸入該電腦的 IP 即可

Tomcat

step1 下載
官網(wǎng)地址:https://tomcat.apache.org/download-90.cgi

選擇Tomcat版本 9/8/7
選擇下載文件 zip / tar.gz


屏幕快照 2019-01-31 上午10.09.26.png

step2 安裝
將下載好的文件解壓縮,推薦到路徑 /Library/Tomcat/Tomcat9

step3 啟動(dòng)

  • 修改運(yùn)行目錄權(quán)限
    例如路徑:/Library/Tomcat/Tomcat9/bin
    快捷打開終端至目標(biāo)路徑 ctr+space劲藐,輸入'ter'
sudo chmod /Library/Tomcat/Tomcat9/bin/*.sh
  • 啟動(dòng)/關(guān)閉
sh /Library/Tomcat/Tomcat9/bin/startup.sh
sh /Library/Tomcat/Tomcat9/bin/shutdown.sh
  • 或者配置 Tomcat 啟動(dòng)腳本
  1. 創(chuàng)建 tomcat 文件,輸入如下內(nèi)容
#!/bin/bash
case $1 in
start)
sh /Library/Tomcat/Tomcat9/bin/startup.sh
;;
stop)
sh /Library/Tomcat/Tomcat9/bin/shutdown.sh
;;
restart)
sh /Library/Tomcat/Tomcat9/bin/shutdown.sh
sh /Library/Tomcat/Tomcat9/bin/startup.sh
;;
*)
echo "Usage:start|stop|restart"
;;
esac
exit 0
  1. 賦予文件執(zhí)行權(quán)限
chmod 777 tomcat
  1. 配置 tomcat 文件的環(huán)境變量 或直接將該文件放置 /usr/bin 文件夾下

  2. 使用快捷命令 tomcat start tomcat stop tomcat restart

存儲(chǔ)文件位置:/Library/Tomcat/Tomcat9/webapps
配置文件位置:/Library/Tomcat/Tomcat9/conf/server.xml

在Host標(biāo)簽下添加<Context path="" docBase="/Users/hych/Sites/tomcat" debug="0" reloadable="true"/>為你自己的位置即可


      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

        <Context path="" docBase="/Users/hych/Sites/tomcat" debug="0" reloadable="true"/>

      </Host>

step4 驗(yàn)證
在瀏覽器打開 http://localhost:8080/ 或者 http://127.0.0.0:8080/ 顯示成功

成功

Apache 和 Tomcat 的區(qū)別

百度百科

Apache是web服務(wù)器,Tomcat是應(yīng)用(java)服務(wù)器,它只是一個(gè)servlet容器搁料,是Apache的擴(kuò)展。 Apache和Tomcat都可以做為獨(dú)立的web服務(wù)器來(lái)運(yùn)行系羞,但是Apache不能解釋java程序(jsp,servlet)郭计。

兩者都是一種容器,只不過(guò)發(fā)布的東西不同:Apache是html容器椒振,功能像IIS一樣拣宏;Tomcat是jsp/servlet容器,用于發(fā)布jsp及java的杠人,類似的有IBM的websphere勋乾、BEA的Weblogic,sun的JRun等等嗡善。

打個(gè)比方:Apache是一輛卡車辑莫,上面可以裝一些東西如html等。但是不能裝水罩引,要裝水必須要有容器(桶)各吨,Tomcat就是一個(gè)桶(裝像Java這樣的水),而這個(gè)桶也可以不放在卡車上袁铐。

Apache是世界使用排名第一的Web服務(wù)器揭蜒。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上。

Apache 源于 NCSAhttpd服務(wù)器剔桨,經(jīng)過(guò)多次修改屉更,成為世界上最流行的Web服務(wù)器軟件之一。Apache取自“a patchy server”的讀音洒缀,意思是充滿補(bǔ)丁的服務(wù)器瑰谜,因?yàn)樗亲杂绍浖圆粩嘤腥藖?lái)為它開發(fā)新的功能树绩、新的特性萨脑、修改原來(lái)的缺陷。Apache的特點(diǎn)是簡(jiǎn)單饺饭、速度快渤早、性能穩(wěn)定,并可做代理服務(wù)器來(lái)使用瘫俊。Apache對(duì)Linux的支持相當(dāng)完美鹊杖。

維基百科

Tomcat是由Apache軟件基金會(huì)屬下Jakarta項(xiàng)目開發(fā)的Servlet容器提鸟,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)ServletJavaServer PageJSP)的支持仅淑,并提供了作為Web服務(wù)器的一些特有功能称勋,如Tomcat管理和控制平臺(tái)、安全域管理和Tomcat閥等涯竟。由于Tomcat本身也內(nèi)含了HTTP服務(wù)器赡鲜,因此也可以視作單獨(dú)的Web服務(wù)器。但是庐船,不能將Tomcat和Apache HTTP服務(wù)器混淆银酬,Apache HTTP服務(wù)器是用C語(yǔ)言實(shí)現(xiàn)的HTTPWeb服務(wù)器;這兩個(gè)HTTP web server不是捆綁在一起的筐钟。Apache Tomcat包含了配置管理工具揩瞪,也可以通過(guò)編輯XML格式的配置文件來(lái)進(jìn)行配置。

MySQL

安裝
安裝步驟查看

方式1 dmg 安裝
方式2 brew 安裝

 $> brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-8.0.13.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring mysql-8.0.13.mojave.bottle.tar.gz
==> /usr/local/Cellar/mysql/8.0.13/bin/mysqld --initialize-insecure --user=hych --basedir=/u
==> Caveats
We've installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

MySQL is configured to only allow connections from localhost by default

To connect run:
    mysql -uroot

A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To have launchd start mysql now and restart at login:
  brew services start mysql
Or, if you don't want/need a background service you can just run:
  mysql.server start
==> Summary
??  /usr/local/Cellar/mysql/8.0.13: 267 files, 236.6MB

數(shù)據(jù)庫(kù)名稱一般為:root篓冲,密碼初始密碼記錄李破,后續(xù)建議更改

mysql -u root -p
mysql.server start
mysql.server stop
// or
brew services start mysql
hych@hychdeMacBook-Pro  ~  brew services
brew services subcommand:

  Manage background services with macOS' launchctl(1) daemon manager

       --all                           run subcommand on all services.

  [sudo] brew services list

  List all running services for the current user (or root).

  [sudo] brew services run (formula|--all)

  Run the service formula without registering to launch at login (or boot).

  [sudo] brew services start (formula|--all)

  Start the service formula immediately and register it to launch at login (or boot).

  [sudo] brew services stop (formula|--all)

  Stop the service formula immediately and unregister it from launching at login (or boot).

  [sudo] brew services restart (formula|--all)

  Stop (if necessary) and start the service formula immediately and register it to launch at login (or boot).

  [sudo] brew services cleanup

  Remove all unused services.

  If sudo is passed, operate on /Library/LaunchDaemons (started at boot).
  Otherwise, operate on ~/Library/LaunchAgents (started at login).

dmg 卸載

1 sudo rm /usr/local/mysql
2 sudo rm -rf /usr/local/mysql*
3 sudo rm -rf /Library/StartupItems/MySQLCOM
4 sudo rm -rf /Library/PreferencePanes/My*
5 vim /etc/hostconfig  (and removed the line MYSQLCOM=-YES-)
6 rm -rf ~/Library/PreferencePanes/My*
7 sudo rm -rf /Library/Receipts/mysql*
8 sudo rm -rf /Library/Receipts/MySQL*
9 sudo rm -rf /var/db/receipts/com.mysql.*

查看工具

  1. MySQLWorkBench

輸入查詢語(yǔ)句,然后執(zhí)行(或者 cmd + enter)
eg: SELECT * FROM test.user;

MySQLWorkBench.png

  1. Navicat Premium


    Navicat Premium.png
  2. Squel Pro


    Squel Pro.png

Q&A

Q
Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

A

MySQL版本8.0.4之后修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
具體原因是MySQL 8.04前壹将,
執(zhí)行1,2都可以:
1嗤攻,SET PASSWORD=PASSWORD('[修改的密碼]');
2,update user set password=password('123456') where user='root';
但是MySQL8.0.4開始诽俯,這樣默認(rèn)是不行的妇菱。因?yàn)橹埃琈ySQL的密碼認(rèn)證插件是“mysql_native_password”暴区,而現(xiàn)在使用的是“caching_sha2_password”闯团。
創(chuàng)建新用戶CREATE USER 'test'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市仙粱,隨后出現(xiàn)的幾起案子房交,更是在濱河造成了極大的恐慌,老刑警劉巖缰盏,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涌萤,死亡現(xiàn)場(chǎng)離奇詭異淹遵,居然都是意外死亡口猜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門透揣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)济炎,“玉大人,你說(shuō)我怎么就攤上這事辐真⌒肷校” “怎么了崖堤?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)耐床。 經(jīng)常有香客問(wèn)我密幔,道長(zhǎng),這世上最難降的妖魔是什么撩轰? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任胯甩,我火速辦了婚禮,結(jié)果婚禮上堪嫂,老公的妹妹穿的比我還像新娘偎箫。我一直安慰自己,他們只是感情好皆串,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布淹办。 她就那樣靜靜地躺著,像睡著了一般恶复。 火紅的嫁衣襯著肌膚如雪怜森。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天谤牡,我揣著相機(jī)與錄音塔插,去河邊找鬼。 笑死拓哟,一個(gè)胖子當(dāng)著我的面吹牛想许,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播断序,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼流纹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了违诗?” 一聲冷哼從身側(cè)響起漱凝,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诸迟,沒想到半個(gè)月后茸炒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阵苇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年壁公,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绅项。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡紊册,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出快耿,到底是詐尸還是另有隱情囊陡,我是刑警寧澤芳绩,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站撞反,受9級(jí)特大地震影響妥色,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜遏片,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一垛膝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丁稀,春花似錦吼拥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至授账,卻和暖如春枯跑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背白热。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工敛助, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屋确。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓纳击,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親攻臀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焕数,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359