1. 程式人生 > >Linux環境Nginx安裝與除錯以及PHP安裝

Linux環境Nginx安裝與除錯以及PHP安裝

linux版本:64位CentOS 6.4

Nginx版本:nginx1.10.2

php版本:php5.5.28

1.編譯安裝Nginx

# wget http://nginx.org/download/nginx-1.10.2.tar.gz

# tar -zvxf nginx-1.10.2.tar.gz

# cd ./nginx-1.10.2

# ./configure --prefix=/usr/local/nginx

# make && make install

安裝Nginx時報錯

錯誤提示:./configure: error: the HTTP rewrite module requires the PCRE library.

安裝pcre-devel解決問題
# yum -y install pcre-devel


錯誤提示:./configure: error: the HTTP cache module requires md5 functions
from OpenSSL library. You can either disable the module by using
--without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
--with-http_ssl_module --with-openssl=<path> options.

解決辦法:

# yum -y install openssl openssl-devel


或者一併安裝

# yum -y install pcre-devel openssl openssl-devel

錯誤提示:./configure: error: the HTTP gzip module requires the zlib library.

# yum install -y zlib-devel

啟動nginx

# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

安裝成功檢視nginx程序

# ps aux | grep nginx

測試頁面,直接輸入伺服器ip

其實nginx預設的web工作目錄在/usr/local/nginx/html

可以修改nginx的配置檔案nginx.conf改變到其他路徑

防火牆配置

注意如果你希望在本地機器例如xp訪問虛擬機器的網頁,如果是centos6需要修改防火牆啟動80埠

# cd /etc/sysconfig

修改iptables檔案,或者直接用vim編輯

# vim /etc/sysconfig/iptables

新增下面一行,開啟防火牆80埠:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

重啟防火牆
# /etc/init.d/iptables restart

檢視CentOS防火牆資訊:/etc/init.d/iptables status

關閉CentOS防火牆服務:/etc/init.d/iptables stop

如果沒有防火牆檔案

需要

# iptables -P OUTPUT ACCEPT
# service iptables save
# service iptables restart

然後重寫iptables檔案

其實完整的防火牆檔案是這樣的

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


停止nginx

查詢nginx主程序號
#ps -ef | grep nginx

從容停止Nginx:
kill -QUIT 主程序號
快速停止Nginx:
kill -TERM 主程序號
強制停止Nginx:
pkill -9 nginx

開啟目錄自動顯示

nginx的配置檔案nginx.conf在

# cd /usr/local/nginx/conf

有時候需要開啟目錄自動顯示功能

http {
    include       mime.types;
    default_type  application/octet-stream;
	#自動顯示目錄
	autoindex on;

重啟nginx

# /usr/local/nginx/sbin/nginx -s reload


獲取安裝資訊

如果需要重新安裝nginx,需要知道之前的安裝資訊

/usr/local/nginx/sbin/nginx -V


2.安裝php

下載解壓

# tar zxvf php-5.5.28.tar.gz

# cd php-5.5.28

配置

#./configure --prefix=/usr/local/php \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysql \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip

如果需要--with-jpeg-dir \   可以按下面的裝很多yum

如果需要GD庫還要

./configure --prefix=/usr/local/php --with-mysql --enable-fpm--enable-opcache --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --with-zlib --with-libxml-dir --enable-xml --disable-debug --enable-safe-mode --enable-mbstring

如果配置錯誤,需要安裝需要的模組,直接yum一併安裝依賴庫

# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel

配置成功:



編譯安裝

配置成功後繼續完成編譯安裝php

# make && make install 


php-5.4.11已經支援fastcgi了,不用在打補丁了。
1.在編譯安裝時加上'--enable-fpm',注意修改php/etc/php-fpm.conf 去掉pid前的註釋;
2.複製/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm還可以做成服務

複製php-fpm檔案到php安裝目錄

# cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

拷貝php.ini檔案

安裝目錄有2個檔案:php.ini-development和php.ini-production

注意php.ini-production擁有較高的安全性設定,則適合上線當產品使用

# cp php.ini-development /usr/local/php/lib/php.ini

或者

# cp php.ini-production /usr/local/php/lib/php.ini

如果操作了這一步以後使用phpinfo()就會看到Loaded Configuration File:

php-fpm啟動

拷貝啟用檔案
cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm

啟動
#  /etc/init.d/php-fpm

php安裝成功檢視程序

#ps aux|grep php



重啟

# killall php-fpm

#  /etc/init.d/php-fpm

php-fpm配置中關於程序數的配置比較重要,其他可以預設:

user = www
group = www
#啟動程序的帳戶和組
 
pm = dynamic #對於專用伺服器,pm可以設定為static。
#如何控制子程序,選項有static和dynamic。如果選擇static,則由pm.max_children指定固定的子程序數。如果選擇dynamic,則由下開引數決定:
pm.max_children #,子程序最大數
pm.start_servers #,啟動時的程序數
pm.min_spare_servers #,保證空閒程序數最小值,如果空閒程序小於此值,則建立新的子程序
pm.max_spare_servers #,保證空閒程序數最大值,如果空閒程序大於此值,此進行清理
 
pm.max_requests = 1000
#設定每個子程序重生之前服務的請求數. 對於可能存在記憶體洩漏的第三方模組來說是非常有用的. 如果設定為 ’0′ 則一直接受請求. 等同於 PHP_FCGI_MAX_REQUESTS 環境變數. 預設值: 0.
 

關於php-fpm配置參考:

和 

php-fpm原始碼目錄php-5.5.10\sapi\fpm

配置nginx支援PHP

nginx的配置檔案nginx.conf在

# cd /usr/local/nginx/conf

nginx預設web資料夾在

/usr/local/nginx/html

如果需要nginx支援PHP需要修改nginx.conf,加入如下語句:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/www$fastcgi_script_name;
}

本機的web資料夾在/usr/www,需要修改fastcgi_param SCRIPT_FILENAME指向對應目錄即可:

所以

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/www$fastcgi_script_name;
}

注意,如果pfp-fpm配置檔案偵聽9001等埠,需要改對應檔案:

# /usr/local/php/etc/php-fpm.conf

如果還需要解析/usr/www下的html檔案,需要改配置

        location / {
            #root   html;
			root /usr/www;
            index  index.html index.htm;
        }

還有一點需要注意:php-fpm偵聽埠範圍9000-9999,nginx開啟埠800-900比較好。

重啟nginx

# /usr/local/nginx/sbin/nginx -s reload

測試頁面info.php
<?php
phpinfo();
?>

上傳至/usr/www目錄,成功執行


錯誤描述:
PHP Warning:  phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in C:\info.php on line 4

解決辦法:
開啟php.ini 配置檔案
找到
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

修改為:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone =PRC    或者UTC

然後記得重啟Nginx!

另外,還有下面兩種辦法(不建議)
1、在頁頭使用date_default_timezone_set()設定 date_default_timezone_set('PRC'); //東八時區 echo date('Y-m-d H:i:s');
2、在頁頭使用 ini_set('date.timezone','Asia/Shanghai');

對於中國,可選值:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次為重慶,上海,烏魯木齊)港臺地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次為澳門,香港,臺北),還有新加坡:Asia/Singapore,老的PRC也行。
PHP所支援的時區列表可參見:http://www.php.net/manual/zh/timezones.php

===================================

開啟PHP的opcace

php.ini配置opcace

;opcache
zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.enable=1

 

把上面的程式碼儲存為一個php檔案放到你的網站目錄下面開啟就可以看到:



Opcache參考:

3.升級php

假設之前安裝過老版本的php例如php5.4.8,需要安裝最新的版本只要用之前的安裝步驟安裝最新的版本即可.

4.跟蹤Nginx和PHP

設定Nginx和PHP都是單子程序

修改nginx.conf

worker_processes  1;

修改php-fpm.conf

pm = static

pm.max_children = 1

#ps aux

strace/ltrace

strace或ltrace跟蹤都可以檢視應用程式正在執行過程中發起的系統函式呼叫和動態庫函式呼叫,二者大同小異。

#strace

-p 程序id   通過程序號跟蹤指定程序

-o  檔名 跟蹤資訊輸出到指定檔案

-f   跟蹤其通過fork呼叫產生的子程序

-t  輸出每一個系統呼叫的發起時間

-T 輸出每一個系統呼叫的消耗時間

退出 Ctrl+C

1).Nginx master process

2).Nginx worker process

3) php-fpm master process

4) php-fpm pool


pstack

pstack檢視系統呼叫和函式呼叫關係,可以看到當前Nginx內部在執行什麼函式。

其實,pstack不過是gdb實現的一個shell指令碼而已。

5.除錯Nginx

由於gdb需要gcc的時候加上-g引數,這樣生成的檔案才能使用gdb除錯,因此我們要對原始碼做一下小改動

修改auto/cc/conf檔案

ngx_compile_opt="-c"

變為

ngx_compile_opt="-c -g"

執行configure

./configure --prefix=/usr/local/nginx

另一個值得關注的編譯選項是-O0,如果在gdb內列印變數時提示"<value optimized out>"或gdb提示顯示的當前正執行的程式碼行與原始碼匹配不上而讓人感覺莫名其妙,那麼,這則多半是因為gcc的優化導致,我們可以加上-O0選項來強制禁用gcc的編譯優化。除了可以通過編輯objs/Makefile檔案,把這兩個選項直接加在CFLAGS變數裡以外,還有另外幾種方法也可以達到同樣的效果。

1. 在進行configure配置時,按如下方式執行。

  1. [[email protected] nginx-1.2.0]# CFLAGS="-g -O0" ./configure --prefix=/usr/local/nginx

2. 在執行make時,按如下方式執行。

  1. [[email protected] nginx-1.2.0]# make CFLAGS="-g -O0"

直接修改objs/Makefile檔案和上面提到的第2種方法是在我們已經執行configure之後進行的,如果之前已經執行過make,那麼還需重新整理所有原始檔的時間戳,以便重新編譯每一個Nginx原始檔。

修改nginx的conf配置檔案為單程序

worker_processes  1;
daemon off; 
master_process  off;

檢視巨集定義

注意:Nginx中有大量的巨集,如果不做特殊處理是看不到這些巨集定義的:

必須編譯的時候使用ggdb3才可以檢視定義。

修改auto/cc/conf檔案

ngx_compile_opt="-c"

變為

ngx_compile_opt="-c -ggdb3"

或者

#make CFLAGS="-ggdb3 -O0"

#info macro NGX_OK

#macro expand NGX_OK

檢視ngx_core.h

啟動nginx

# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

#ps -efH | grep nginx  

#gdb -p 程序id     或者(gdb) attach 程序id  一樣的

利用set args 命令就可以修改傳送給程式的引數,而使用show args 命令就可以檢視其預設引數的列表。
(gdb) set args -c /usr/local/nginx/conf/nginx.conf
(gdb) show args

使用l(list)命令檢視main 函式,這個main函式是在src/core/nginx.c裡面,是nginx的入口函式

(gdb) l #列出原始檔,只列出10行,請使用l- 和 l 或者l +行號 或者 l +函式名 進行定位

(gdb) break 215 #在哪行打斷點, 可以break  main

break命令(可以簡寫為b)可以用來在除錯的程式中設定斷點,該命令有如下四種形式:
break line-number 使程式恰好在執行給定行之前停止。
break function-name 使程式恰好在進入指定的函式之前停止。
break line-or-function if conditio如果condition(條件)是真,程式到達指定行或函式時停止。
break routine-name 在指定例程的入口處設定斷點
如果該程式是由很多原檔案構成的,你可以在各個原檔案中設定斷點,而不是在當前的原檔案中設定
斷點,其方法如下:
(gdb) break filename:line-number
(gdb) break filename:function-name
要想設定一個條件斷點,可以利用break if命令,如下所示:
(gdb) break line-or-function if expr
例:
(gdb) break 46 if testsize==100
從斷點繼續執行:countinue命令break命令(可以簡寫為b)可以用來在除錯的程式中設定斷點,該命令有如下四種形式:
break line-number 使程式恰好在執行給定行之前停止。
break function-name 使程式恰好在進入指定的函式之前停止。
break line-or-function if conditio如果condition(條件)是真,程式到達指定行或函式時停止。
break routine-name 在指定例程的入口處設定斷點
如果該程式是由很多原檔案構成的,你可以在各個原檔案中設定斷點,而不是在當前的原檔案中設定
斷點,其方法如下:
(gdb) break filename:line-number
(gdb) break filename:function-name
要想設定一個條件斷點,可以利用break if命令,如下所示:
(gdb) break line-or-function if expr
例:
(gdb) break 46 if testsize==100
從斷點繼續執行:countinue命令

斷點可以多個

(gdb) info break  列出所有斷點

刪除指定的某個斷點:
(gdb) delete breakpoint 1
該命令將會刪除編號為1的斷點,如果不帶編號引數,將刪除所有的斷點

禁止使用某個斷點
(gdb) disable breakpoint 1
該命令將禁止斷點1,同時斷點資訊的(Enb)域將變為n
允許使用某個斷點
(gdb) enable breakpoint 1
該命令將允許斷點1,同時斷點資訊的(Enb)域將變為y

(gdb) continue 從斷點開始繼續執行直到下一個斷點

(gdb) r #run,從main函式開始重新執行程式,因為之前已經執行了,所以要想從main開始除錯要r,這樣就會結束之前的程序

(gdb) l   列出程式碼

(gdb) s 下一步,會列出當前所在的檔案程式碼行數

(gdb)finish 結束執行當前函式,顯示其返回值(如果有的話)

(gdb)bt  列印棧幀,可以看出當前檔名以及函式

(gdb) p *ptr   列印指標內容

(gdb)info args
打印出當前函式的引數名及其值。

(gdb)info locals
打印出當前函式中所有區域性變數及其值。

(gdb)info catch
打印出當前的函式中的異常處理資訊。

檢視陣列

int *array = (int *) malloc (len * sizeof (int));

(gdb)p *[email protected]

@的左邊是陣列的首地址的值,也就是變數array所指向的內容,右邊則是資料的長度,其儲存在變數len中

(gdb)disp * 結構體變數   檢視結構體資訊

(gdb)p * 結構體變數   檢視結構體資訊

其實 print *[email protected]   指標物件都可以看到

檢視記憶體

(gdb)x

forward-search <regexp>
search <regexp>
向前面搜尋。

reverse-search <regexp>

檢視void指標

ngx_http_init_connection(ngx_connection_t *c)

檢視p *c

如果要直接檢視data

p *c->data

提示Attempt to dereference a generic pointer.

因為空指標型別必須強制轉換

檢視程式碼

ngx_http_connection_t  *hc;
c->data = hc;


所以強制轉換即可

空指標物件轉換技巧:

*(型別*)(空指標物件)

檢視socket

# lsof -p  程序id   

監控epoll FD

#ps aux|grep nginx

#sudo ls -alh /proc/Nginx的程序id/fd

使用tcpdump檢視資料包

# tcpdump -i eth0 port 80

壓力測試

# ab -c l -n 10000 http://127.0.0.1/index.html

6.Nginx的URL重寫

1.形如  /xxx/abc這樣的 跳轉到   /aaa/下

location ~* ^/(.*)/abc {
#if (!-e $request_filename) {
      rewrite  ^/(.*)$  /aaa/  permanent;
      break;
#}
}

標誌flag用於結束rewrite指令,它的可取值有:
 
last - 在搜尋到相應的URI和location之後完成rewrite指令;
break - 完成 rewrite指令處理
redirect - 返回302臨時重定向,如果replacement替換部分是由http://開始,它將被應用。
permanent - 返回301程式碼永久重定向

2.形如 /news這樣的

location ~* ^/(history|news) {
        #if (!-e $request_filename) {
           rewrite  ^/(.*)$  /index.php/Home/$1  last;
           break;
        #}
    }

3.形如   /shanghai並且以這個結尾的  $標識結束符

location ~* ^/(beijing|shanghai)$ {
        #if (!-e $request_filename) {
           rewrite  (^/)(beijing|shanghai)  /index.php/Home/Course/index?param1=$2  last;
           break;
        #}
    }

7.Nginx虛擬主機

實際中需要多個域名繫結到同一臺伺服器不同的網站,使用server_name即可

server {
listen       80;
    server_name  www.csdn.net;

如果是多個域名空格即可

server_name  www.csdn.net  bolg.csdn.net;

8.訪問許可權

允許指定IP/Ip段  0/24

allow 192.168.1.222;
deny all;

遮蔽指定IP

deny 192.168.1.222;

9.開啟gzip壓縮

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";


第1行:開啟Gzip
第2行:不壓縮臨界值,大於1K的才壓縮,一般不用改
第3行:buffer,就是,嗯,算了不解釋了,不用改
第4行:用了反向代理的話,末端通訊是HTTP/1.0,有需求的應該也不用看我這科普文了;有這句的話註釋了就行了,預設是HTTP/1.1
第5行:壓縮級別,1-10,數字越大壓縮的越好,時間也越長,看心情隨便改吧
第6行:進行壓縮的檔案型別,缺啥補啥就行了,JavaScript有兩種寫法,最好都寫上吧,總有人抱怨js檔案沒有壓縮,其實多寫一種格式就行了
第7行:跟Squid等快取服務有關,on的話會在Header裡增加"Vary: Accept-Encoding",我不需要這玩意,自己對照情況看著辦吧
第8行:IE6對Gzip不怎麼友好,不給它Gzip了

重新載入Nginx
/usr/local/nginx/sbin/nginx -s reload

用curl測試Gzip是否成功開啟
#curl -I -H "Accept-Encoding: gzip, deflate" "http://blog.csdn.net/unix"


把nginx升級到最新以後,發現用原來的配置啟動的時候會提示:
duplicate MIME type "text/html" in /usr/local/nginx/conf/nginx.conf:37
    實際上,text/html根本就不需要寫的,gzip預設就會壓縮它的,只不過以前的nginx版本不提示這個警告而已,新版本的會出這個警告,所以解決辦法很簡單:把text/html從你的配置中刪除。

10.遮蔽指定的蜘蛛爬蟲

查詢最近的60條日誌

# tail -n 20 /usr/local/nginx/logs/access.log


發現大量的蜘蛛爬行日誌

可以這樣遮蔽,加在nginx配置檔案的server段

	#禁止特定爬蟲的抓取
	if ($http_user_agent ~* "Sogou web spider/4.0|YisouSpider|Googlebot|Googlebot-Image|Googlebot-Video|googlebot-mobile|bingbot|msnbot-media|Yahoo! Slurp|AhrefsBot|DotBot") {
	 return 403;
	}

測試,例如我們需要遮蔽YisouSpider,但是不能遮蔽Baiduspider

# curl -I -A 'YisouSpider' http://www.../
# curl -I -A 'Baiduspider' http://www.../

查指定時間段內的日誌

# sed -n '/19\/Feb\/2016:14:13:00/,/19\/Feb\/2016:14:16:59/'p /usr/local/nginx/logs/access.log>>500_20160219-1413-1416.txt

11.Nginx域名重寫

需要  blog.csdn.net跳轉到www.csdn.net

	if ($host = "blog.csdn.com"){
	rewrite ^/(.*)$ http://www.csdn.net/$1 permanent;
	}

12.代理tomcat

server {
	listen       80;
    server_name  blog.csdn.net;
    root         /usr/www;
	index   index.html index.htm;
	location ^~ /unix21/ {
        proxy_pass   http://127.0.0.1:8080/unix21/;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
	}

所有到 http://blog.csdn.net:8080/unix21/a.jsp的都可以用http://blog.csdn.net/unix21/a.jsp 來訪問

或者這樣:

    server {
        listen       80;
        server_name  unix21.blog.csdn.net;

		root         /usr/www;		
		location ^~ {
		index   index.html index.htm;
		trim on;  
		trim_js on;  
		trim_css on;  
        proxy_pass   http://127.0.0.1:8080;
    }  


13.使用tengine

刪除 html , 內嵌 javascript 和 css 中的註釋以及重複的空白符

location / {
    trim on;
    trim_js on;
    trim_css on;
}



http://tengine.taobao.org/document_cn/http_concat_cn.html

合併多個檔案在一個響應報文中。

location /static/css/ {
    concat on;
    concat_max_files 20;
}

location /static/js/ {
    concat on;
    concat_max_files 30;
}

需要修改js和css的程式碼

引數中某位置只包含一個‘?’,則'?'後表示檔案的版本,例如:
http://example.com/??style1.css,style2.css,foo/style3.css?v=102234

參考文獻

相關推薦

Linux環境Nginx安裝除錯以及PHP安裝

linux版本:64位CentOS 6.4 Nginx版本:nginx1.10.2 php版本:php5.5.28 1.編譯安裝Nginx # wget http://nginx.org/download/nginx-1.10.2.tar.gz # tar -zv

Linux基礎第三天—Linux的軟連結硬連結、安裝nginx以及基本配置、LNMP和LAMP的搭建

ln    建立硬連結 ln oldboy.txt oldgirl.txt    建立硬連結,原檔案oldboy.txt寫在前面,兩檔案inode相同,存在同一個block中, 內容同步刪除,但其中一個刪除 另一個並不會消失,因為block, l

NginxLinux下的安裝配置,以及遇到問題的解決整理

2、將下載的資源上傳到/usr/local目錄下,注意:如果遇到檔案無法移動或報沒有許可權,應該是賬號不是root使用者,可以使用su root命令切換。 3、安裝nginx,在/usr/local下解壓nginx-1.10.0.tar.gz,並進入nginx-1.10.

Linux 環境部署記錄(三) - Jenkins安裝配置

版本 接下來 clas title col size pre 瀏覽器 jdk Jenkins安裝 為了兼容生產環境的jdk1.7版本,從官網得知,Jenkins必須是1.6之前的版本,因此下載jenkins-1.596.3-1.1.noarch.rpm到本地進行安裝: #移

Linux環境nginx安裝

bin src conf con c-c++ nginx的安裝 cal bubuko tar.gz 安裝Nginx前需要編譯環境和庫文件支持: gcc、zlib-devel、openssl-devel 1.安裝命令: yum -y install make zli

最新Docker的安裝使用以及常見問題 Linux Windows

安裝 官方文件 Linux下安裝(CentOS 7.x) yum install -y docker 檢視版本 docker --version Windows下安裝 官方說明 安裝條件 方式一: 截至2018年9月8日 官方要求

linux下gdb的安裝除錯

1 安裝gdb 在Debian GNU/Linux Desktop中,應用程式 >> 附件 >> Root Terminal。輸入密碼,在Root許可權下的終端下輸入: apt-get update …… apt-get install 

Linux中SVN伺服器安裝使用以及windows客戶端的使用(CentOS-6.5)

1 SVN簡介     svn是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS轉移到Subversion。 svn伺服器有2種執行方式:獨立伺服器和藉助

專案開發環境安裝除錯

本月部落格基本都是針對會議分發系統編寫的,主要是給信通科的小傢伙們當入門教程使用的。 android studio 網上大把下載的,我用的是1.1版本,安裝也沒什麼困難的,注意以下幾點 1、要先安裝JDK,否則要重新配置path。 2、C盤空間不多的時候,安裝過程中選擇其它

Linux作業系統安裝ELK stack日誌管理系統--(2)ElasticsearchKibana的安裝使用以及和Logstash的連線

上一篇: 上一篇介紹了Logstash和Filebeat的安裝,以及使用Filebeat作為Logstash輸入進行資料的獲取,接下來將學習一下Elasticsearch與Kibana的安裝與使用以及如何與Logstash的連線,打通整個ELK的流程!

ButterKnife的安裝使用以及ButterKnife右鍵不顯示的大坑

ButterKnife的安裝與使用以及ButterKnife右鍵不顯示的大坑 ButterKnife的安裝與使用 ButterKnife右鍵不顯示 作為從安卓的的入門選手,第一次看到還以為是個第三方呢,從github下來之後感覺不對啊,這麽多東西,後來一搜原來是個插件,而且不

Gradle的安裝配置以及錯誤

eclips 報告 其他 輸入 創建 設置 重新 轉換 pen 1:下載安裝包 下載地址:https://gradle.org/releases 2:解壓到本地 3:配置環境變量 我的電腦-屬性-高級系統設置-高級-環境變量 4:驗證安裝是否成功 cmd --

centos7上安裝redis以及PHP安裝redis擴展(一)

對數 onf 服務 evel 路徑 system 命令 請求 物理內存 1.關閉防火墻:  systemctl stop firewalld.service #停止firewall  systemctl disable firewalld.service #禁止firewa

centos7上安裝memcached以及PHP安裝memcached擴展(二)

new zxvf ould get blank .so emca post dev 開始在 PHP 中使用 Memcached 前, 我們需要確保已經安裝了 Memcached 服務,接下來安裝 php-memcached 擴展。 PHP Memcached 擴展安裝

Linux環境變量文件查找

目錄 info -name 環境 ima locate img div image 作業: 找出/etc目錄下所有以.list結尾的文件 代碼:locate /etc/\*.list sudo find /etc/ -name \*.list

OpenLDAP 服務端安裝配置以及原理

ldapOpenLDAP 服務端安裝與配置 一、什麽是LDAP 目錄是一個為查詢、瀏覽和搜索而優化的專業分布式數據庫,它呈樹狀結構組織數據,就好象Linux/Unix系統中的文件目錄一樣。目錄數據庫和關 系數據庫不同,它有優異的讀性能,但寫性能差,並且沒有事務處理、回滾等復雜功能,不適於存儲修改頻繁的數據。所

查找nginx安裝的路徑以及相關安裝操作命令

cor clas 顯示 操作 nginx安裝 行記錄 font nginx版本號 nginx 1、查看nginx安裝目錄 輸入命令 # ps -ef | grep nginx 返回結果包含安裝目錄 root 2662 1 0 07:12 ?

查詢nginx安裝的路徑以及相關安裝操作命令

查詢nginx安裝的路徑以及相關安裝操作命令 Linux環境下,怎麼確定Nginx是以那個config檔案啟動的? [[email protected] ~]# ps -ef | grep nginx root 21196 1 0 23:40 ? 00:00:00 nginx:

Tomcat系列之伺服器的安裝配置以及各元件詳解

Tomcat系列之伺服器的安裝與配置以及各元件詳解 大綱 一、前言 二、安裝與配置Tomcat 三、Tomcat 目錄的結構 四、Tomcat 配置檔案 注,本文的測試的作業系統為CentOS 6.4 x86_64,軟體版本為jdk-7u40、apache

postman安裝使用以及自動化測試

Postman安裝與使用 postman是常用的API除錯工具,主要用於開發人員除錯介面以及測試人員做介面測試,官網地址:https://www.getpostman.com/ 安裝: https://www.getpostman.com/apps 使用: postman主介面: