CentOS7.0 採用壓縮包 安裝Nginx 1.7.4
1、安裝準備
首先因爲nginx的一些模塊依賴一些lib庫,因此在安裝nginx以前,必須先安裝這些lib庫,
這些依賴庫主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 因此執行以下命令安裝css
$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--develhtml
2、安裝Nginx
安裝以前,最好檢查一下是否已經安裝有nginxjava
$ find -name nginx
若是系統已經安裝了nginx,那麼就先卸載linux
$ yum remove nginx
首先進入/usr/local目錄nginx
$ cd /usr/local
從官網下載最新版的nginxc++
$ wget http://nginx.org/download/nginx-1.7.4.tar.gz
解壓nginx壓縮包web
$ tar -zxvf nginx-1.7.4.tar.gz
會產生一個nginx-1.7.4 目錄,這時進入nginx-1.7.4目錄正則表達式
$ cd nginx-1.7.4
接下來安裝,使用--prefix參數指定nginx安裝的目錄,make、make install安裝express
$ ./configure $默認安裝在/usr/local/nginx
$ make
$ make installapache
若是沒有報錯,順利完成後,最好看一下nginx的安裝目錄
$ whereis nginx
安裝完畢後,進入安裝後目錄(/usr/local/nginx)即可以啓動或中止它了。
到此,使用CentOS安裝nginx已經完成了,其實看看仍是蠻簡單的。
http://nginx.org/download/nginx-1.12.0.tar.gz
nginx反向代理、動靜分離、負載均衡
centos 7 安裝tomcat
自己系統 已經安裝了jdk
java -version
wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.44/bin/apache-tomcat-8.0.44.tar.gz
[root@localhost ~]# cd /usr/local
[root@localhost ~]# tar -zxv -f apache-tomcat-8.0.44.tar.gz // 解壓壓縮包
[root@localhost ~]# rm -rf apache-tomcat-8.0.44.tar.gz // 刪除壓縮包
[root@localhost ~]#
mkdir tomcat
mv apache-tomcat-8.0.44/* tomcat/
tomcat/bin/startup.sh
tomcat/bin/shutdown.sh
Centos7下添加Tomcat爲系統服務
由於我的感受在centos中啓動tomcat比較麻煩、要一直cd到目錄下面startup.sh才能夠,
因此網上找到將tomcat做爲系統服務,使用systemctl直接啓動方法。現將我的的設置記錄以下:
1.安裝tomcat ,tomcat是很早以前安裝的,使用filezilla上傳解壓到目錄OK
2.修改tomcat的catalina.sh文件,vim打開 :set number 應該是139行下面添加
CATALINA_PID="$CATALINA_BASE/tomcat.pid" 以下圖黃色箭頭所示
3.而後在/usr/lib/systemd/system下面創建tomcat.service文件
tomcat.service的內容:
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
主要就是設置好你的 jdk路徑,忘記可使用 echo $JAVA_HOME 來查看,
設置咱們上面寫的tomcat.pid的路徑和tomcat啓動路徑
4.通過上面設置應該就行了
systemctl enable tomcat 開機啓動
systemctl status tomcat 查看狀態
systemctl start / stop / restart tomcat 開始/中止/重啓 tomcat
5.遇到的問題
若是隻是配好了 tomcat.pid就啓動過tomcat的話,須要在全部配置完成後 在tomcat關閉的狀況下
刪除 rm tomcat.pid 文件,而後使用上面的命令來啓動tomcat
參考:
http://www.linuxidc.com/Linux/2013-05/84612p2.htm
http://www.cnblogs.com/feiye512/p/5633489.html
centos下nginx+tomcat安裝配置 nginx結合tomcat
http://blog.csdn.net/heirenheiren/article/details/8013905
http://blog.csdn.net/sangdongqing/article/details/52872095
http://www.cnblogs.com/ystq/articles/5919114.html
server
{
listen 80;
server_name localhost;
index index.html index.htm index.jsp;#設定訪問的默認首頁地址
root /home/www/web/ROOT;#設定網站的資源存放路徑
#limit_conn crawler 20;
location / {
index index.html index.jsp;
}
location ~ .*.jsp$ #全部jsp的頁面均交由tomcat處理
{
index index.jsp;
proxy_pass http://192.168.222.128:8080;#轉向tomcat處理
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #設定訪問靜態文件直接讀取不通過tomcat
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
#定義訪問日誌的寫入格式
#log_format access '$remote_addr - $remote_user [$time_local] "$request" '
#'$status $body_bytes_sent "$http_referer" '
#'"$http_user_agent" $http_x_forwarded_for';
#access_log /usr/local/nginx/logs/localhost.log access;#設定訪問日誌的存放路徑
}
#添加80端口到防火牆 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload #啓動nginx /usr/local/nginx/sbin/nginx
nginx -s reload :修改配置後從新加載生效
nginx -s reopen :從新打開日誌文件
nginx -t -c /path/to/nginx.conf 測試nginx配置文件是否正確
關閉nginx:
nginx -s stop :快速中止nginx
quit :完整有序的中止nginx
其餘的中止nginx 方式:
ps -ef | grep nginx
kill -QUIT 主進程號 :從容中止Nginx
kill -TERM 主進程號 :快速中止Nginx
pkill -9 nginx :強制中止Nginx
啓動nginx:
nginx -c /path/to/nginx.conf
平滑重啓nginx:
kill -HUP 主進程
centos 7 以上使用壓縮包 安裝nginx 配置 成服務和自啓動
http://www.cnblogs.com/riverdubu/p/6426852.html
centos 7 如下使用壓縮包 配置nginx 成服務和自啓動
http://blog.sina.com.cn/s/blog_a51d7b7a0102v0c2.html
http://blog.csdn.net/awj3584/article/details/38036539
http://blog.csdn.net/sangdongqing/article/details/52872095
location匹配命令
~ #波浪線表示執行一個正則匹配,區分大小寫
~* #表示執行一個正則匹配,不區分大小寫
^~ #^~表示普通字符匹配,若是該選項匹配,只匹配該選項,不匹配別的選項,通常用來匹配目錄
= #進行普通字符精確匹配
@ #"@" 定義一個命名的 location,使用在內部定向時,例如 error_page, try_files
location 匹配的優先級(與location在配置文件中的順序無關)
= 精確匹配會第一個被處理。若是發現精確匹配,nginx中止搜索其餘匹配。
普通字符匹配,正則表達式規則和長的塊規則將被優先和查詢匹配,也就是說若是該項匹配還需去看有沒有正則表達式匹配和更長的匹配。
^~ 則只匹配該規則,nginx中止搜索其餘匹配,不然nginx會繼續處理其餘location指令。
最後匹配理帶有"~"和"~*"的指令,若是找到相應的匹配,則nginx中止搜索其餘匹配;當沒有正則表達式或者沒有正則表達式被匹配的狀況下,那麼匹配程度最高的逐字匹配指令會被使用。
location 優先級官方文檔
Directives with the = prefix that match the query exactly. If found, searching stops.
All remaining directives with conventional strings, longest match first. If this match used the ^~ prefix, searching stops.
Regular expressions, in order of definition in the configuration file.
If #3 yielded a match, that result is used. Else the match from #2 is used.
=前綴的指令嚴格匹配這個查詢。若是找到,中止搜索。
全部剩下的常規字符串,最長的匹配。若是這個匹配使用^〜前綴,搜索中止。
正則表達式,在配置文件中定義的順序。
若是第3條規則產生匹配的話,結果被使用。不然,使用第2條規則的結果。
例如
location = / {
# 只匹配"/".
[ configuration A ]
}
location / {
# 匹配任何請求,由於全部請求都是以"/"開始
# 可是更長字符匹配或者正則表達式匹配會優先匹配
[ configuration B ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 開始的請求,並中止匹配 其它location
[ configuration C ]
}
location ~* .(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg結尾的請求.
# 可是全部 /images/ 目錄的請求將由 [Configuration C]處理.
[ configuration D ]
}
location = / {
# 只匹配"/".
[ configuration A ]
}
location / {
# 匹配任何請求,由於全部請求都是以"/"開始
# 可是更長字符匹配或者正則表達式匹配會優先匹配
[ configuration B ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 開始的請求,並中止匹配 其它location
[ configuration C ]
}
location ~* .(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg結尾的請求.
# 可是全部 /images/ 目錄的請求將由 [Configuration C]處理.
[ configuration D ]
}
請求URI例子:
/ -> 符合configuration A
/documents/document.html -> 符合configuration B
/images/1.gif -> 符合configuration C
/documents/1.jpg ->符合 configuration D
@location 例子
error_page 404 = @fetch;
location @fetch(proxy_pass http://fetch;)