Nginx
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
#開(kāi)啟目錄瀏覽功能
autoindex on; #開(kāi)啟nginx目錄瀏覽功能
autoindex_exact_size off;#文件大小從kb開(kāi)始顯示
autoindex_localtime on;#顯示文件修改時(shí)間為服務(wù)器本地時(shí)間
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 9000;#端口號(hào)設(shè)置為9000葫录,默認(rèn)為8080根tomcat沖突
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include servers/*;
}
在/usr/local/etc/nginx/nginx.conf文件中。每次修改nginx.conf配置以后都要執(zhí)行以下命令檢查配置文件是否正確:
$ sudo /usr/local/Cellar/nginx/1.10.1/bin/nginx -t
如果顯示以下兩行信息窗价,說(shuō)明文件配置正確:
the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
configuration file /usr/local/etc/nginx/nginx.conf test is successful
然后輸入命令:$ps -ef |grep nginx獲取nginx的主進(jìn)程號(hào)例如:20025
然后執(zhí)行以下命令即可使修改過(guò)的nginx配置文件生效:
$ sudo kill -HUP 20025
給予管理員權(quán)限
sudo chown root:wheel/usr/local/opt/nginx/bin/nginx
sudo chmod u+s/usr/local/opt/nginx/bin/nginx
給予管理員權(quán)限
sudo chown root:wheel/usr/local/opt/nginx/bin/nginx
sudo chmod u+s/usr/local/opt/nginx/bin/nginx
加入launchctl啟動(dòng)控制
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
運(yùn)行nginx(進(jìn)入nginx/bin目錄)
$ sudo nginx #打開(kāi) nginx
$ nginx -s reload|reopen|stop|quit #重新加載配置|重啟|停止|退出 nginx
$ nginx -t #測(cè)試配置是否有語(yǔ)法錯(cuò)誤
用法詳解
nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
選項(xiàng)列表
-?,-h : 打開(kāi)幫助信息
-v : 顯示版本信息并退出
-V : 顯示版本和配置選項(xiàng)信息,然后退出
-t : 檢測(cè)配置文件是否有語(yǔ)法錯(cuò)誤,然后退出
-q : 在檢測(cè)配置文件期間屏蔽非錯(cuò)誤信息
-s signal : 給一個(gè) nginx 主進(jìn)程發(fā)送信號(hào):stop(停止), quit(退出), reopen(重啟), reload(重新加載配置文件)
-p prefix : 設(shè)置前綴路徑(默認(rèn)是:/usr/local/Cellar/nginx/1.2.6/)
-c filename : 設(shè)置配置文件(默認(rèn)是:/usr/local/etc/nginx/nginx.conf)
-g directives : 設(shè)置配置文件外的全局指令
在瀏覽器中輸入IP:端口號(hào),如果出現(xiàn)“welcome to nginx”則表示啟動(dòng)成功G獭!
詳細(xì)解釋一下:目錄瀏覽功能
在nginx.conf文件里面的http{}內(nèi) 有個(gè)root嫡丙,是設(shè)定網(wǎng)站的資源存放路徑
在nginx目錄下有個(gè)html的目錄拴袭,就是這個(gè)root目錄。在瀏覽器可以訪問(wèn)該目錄下的文件曙博,www文件可以自己mkdir,當(dāng)然名字可以隨意拥刻。
只要存放在html目錄下就都可以訪問(wèn)。
說(shuō)明:在/usr/local/var目錄下同樣存在一個(gè)www的目錄父泳,這個(gè)目錄即為上面提到的html目錄般哼,只是名字不同而已。
Tomcat
- 搜索tomcat是否存在:
brew search tomcat
- 安裝tomcat:
brew install tomcat
- 檢查是否安裝成功:
catalina -h
- 運(yùn)行tomcat:
catalina run
Tomcat的默認(rèn)端口是8080惠窄,如果運(yùn)行成功可通過(guò)http://localhost:8080訪問(wèn)
webapp的根目錄(CATALINA_HOME)為:/usr/local/Cellar/tomcat/7.0.33/libexec/webapps/ROOT/
MySQL
安裝MySQL
brew install mysql
cd /usr/local/opt/mysql/
修改配置文件
sudo vim my.cnf
#如果出現(xiàn)無(wú)法啟動(dòng)mysql蒸眠,rm my.cnf
加入launchctl啟動(dòng)控制
mkdir -p ~/Library/LaunchAgents/
cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#取消啟動(dòng)
#launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
初始化 mysql
./bin/mysql_install_db
執(zhí)行安全設(shè)置腳本,設(shè)置root賬號(hào)密碼
./bin/mysql_secure_installation
命令行連接mysql
mysql -uroot -p
Mongo
brew install mongodb
第一次啟動(dòng)服務(wù)端,這里需要做一些準(zhǔn)備工作.
- 默認(rèn)mongodb 數(shù)據(jù)文件是放到根目錄 data/db 文件夾下,如果沒(méi)有這個(gè)文件,請(qǐng)自行創(chuàng)建.
mkdir -p /data/db
注:給該文件夾賦權(quán)限,否則還是不能啟動(dòng)服務(wù)
sudo chown id -u /data/db
- 如果你當(dāng)前的環(huán)境變量還沒(méi)有加入 mongod ,手動(dòng)添加的環(huán)境變量中.
nano ~/.bash_profile
//添加mongodb安裝目錄到環(huán)境變量中
export PATH=/usr/local/Cellar/mongodb/2.4.9/bin:${PATH}
- 執(zhí)行此shell 讓環(huán)境變量馬上生效
source ~/.bash_profile
- 修改mongodb配置文件,配置文件默認(rèn)在 /usr/local/etc 下的 mongod.conf
# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /data/db
# Append logs to /usr/local/var/log/mongodb/mongo.log
logpath = /usr/local/var/log/mongodb/mongo.log
logappend = true
# Only accept local connections
bind_ip = 127.0.0.1
第二行修改成數(shù)據(jù)庫(kù)文件寫入目錄地址,如果準(zhǔn)備連接非本地環(huán)境的mongodb數(shù)據(jù)庫(kù)時(shí),bind_ip = 0.0.0.0 即可.
- 使用mongod命令啟動(dòng)服務(wù)
- 使用mongo命令行客戶端
/usr/local/etc$ mongo
Maven
brew install maven
mvn -v
Gradle
brew install gradle
brew info gradle