日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CentOS6.8安裝LNMP環(huán)境(Linux+Nginx+MySQL+PHP)

Nginx 特性

Nginx 性能穩(wěn)定、功能豐富、運維簡單、處理靜態(tài)文件速度快且消耗系統(tǒng)資源極少。
1、相比 Apache,用 Nginx 作為 Web 服務(wù)器:使用資源更少,支持更多并發(fā)連接,效率更高。
2、作為負(fù)載均衡服務(wù)器:Nginx 既可在內(nèi)部直接支持 Rails 和 php,也可支持作為 HTTP 代理服務(wù)器對外進(jìn)行服務(wù)。Nginx 用 C 編寫而成, 不論是系統(tǒng)資源開銷還是 CPU 使用效率都比 Perlbal 要好的多。
3、作為郵件代理服務(wù)器:Nginx 同時也是一款非常優(yōu)秀的郵件代理服務(wù)器(最早開發(fā)這個產(chǎn)品的目的之一,是作為郵件代理服務(wù)器)。

4、反向代理可以根據(jù)url將請求轉(zhuǎn)向于不同用途的集群,比如圖片請求,轉(zhuǎn)向圖片服務(wù)器集群;視頻請求,轉(zhuǎn)身視頻服務(wù)器集群。

nginx是一款輕量級的web服務(wù)器/反向代理服務(wù)器/電子郵件代理服務(wù)器,安裝非常簡單,配置文件也很簡潔(還支持 perl 語法)。Nginx 支持平滑加載新配置,還能夠在不間斷服務(wù)的情況下進(jìn)行軟件版本升級。

Apache 特性
1、Apache 是 LAMP 架構(gòu)最核心的 Web Server,開源、穩(wěn)定、模塊豐富是 Apache 的優(yōu)勢。但 Apache 的缺點是有些臃腫,內(nèi)存和 CPU 開銷大,性能上有損耗,不如一些輕量級的 Web 服務(wù)器(譬如:Nginx、Tengine等)高效,輕量級的 Web 服務(wù)器對于靜態(tài)文件的響應(yīng)能力來說遠(yuǎn)高于 Apache 服務(wù)器。

2、Apache 做為 Web Server 是負(fù)載 PHP 的最佳選擇,如果流量很大的話,可以采用 Nginx 來負(fù)載非 PHP 的 Web 請求。Nginx 是一個高性能的 HTTP 和反向代理服務(wù)器,Nginx 以其穩(wěn)定、豐富功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。Nginx 現(xiàn)能支持 PHP 和 FastCGI,也支持負(fù)載均衡和容錯,可和 Apache 配合使用,是輕量級的 HTTP 服務(wù)器的首選。

3、Web 服務(wù)器緩存也有多種方案,Apache 提供了自己的緩存模塊,也可以使用外加的 Squid 模塊進(jìn)行緩存,這兩種方式均可有效提高 Apache 的訪問響應(yīng)能力。Squid Cache 是一個 Web 緩存服務(wù)器,支持高效緩存,可作為網(wǎng)頁服務(wù)器的前置 cache 服務(wù)器緩存相關(guān)請求以提高 Web 服務(wù)器速度。把 Squid 放在 Apache 的前端來緩存 Web 服務(wù)器生成動態(tài)內(nèi)容,而 Web 應(yīng)用程序只需要適當(dāng)?shù)卦O(shè)置頁面實效時間即可。如訪問量巨大,則可考慮使用 memcache 作為分布式緩存。

4、PHP 的加速可使用 eAccelerator 加速器,eAccelerator 是一個自由開放源碼的 PHP 加速器。它會優(yōu)化動態(tài)內(nèi)容緩存,提高 PHP 腳本緩存性能,使 PHP 腳本在編譯狀態(tài)下,對服務(wù)器的開銷幾乎完全消除。它還可對腳本起優(yōu)化作用,以加快其執(zhí)行效率。 使 PHP 程序代碼執(zhí)效率可提高 1-10 倍。

nginx優(yōu)點:

  • 輕量級服務(wù)器,相比較apache占用的資源更加少。
  • 高并發(fā)。
  • 配置文件的語法等簡單易懂
  • 社區(qū)活躍。
  • 支持epoll模型。使得nginx可以支持高并發(fā)。
  • 利用nginx可以對ip限速,可以限制連接數(shù)

環(huán)境:

CentOS 6.8 2.6.32-642.15.1.el6.x86_64

軟件:

libiconv-1.14.tar.gz

libmcrypt-2.5.8.tar.gz

mcrypt-2.6.8.tar.gz

mhash-0.9.9.9.tar.gz

mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz(二進(jìn)制版)

php-5.6.30.tar.gz

nginx-1.12.0.tar.gz

提示:在進(jìn)入正題之前一定要先去了解下nginx的工作原理和常用場景。        

不要死記,多操作,多理解,自然就懂了。

看別人操作,不如自己操作。

要能清晰的了解同類產(chǎn)品的區(qū)別。

大綱:

  1. 安裝nginx
  2. 啟動nginx
  3. 配置虛擬主機
  4. 安裝mysql二進(jìn)制版
  5. 安裝php
  6. 測試lnmp環(huán)境

nginx

1、安裝nginx

wget http:
//nginx
.org
/download/nginx-1
.12.0.
tar
.gz 
  
tar 
zxvf nginx-1.12.0.
tar
.gz
  
cd 
nginx-1.12.0/
  
yum 
install 
gcc gcc-c++ zilb.x86_64 zlib-devel.x86_64  pcre-devel.x86_64 pcre.x86_64 
openssl.x86_64 openssl-devel.x86_64-y
  
useradd 
-M -s 
/sbin/nologin 
nginx
  
.
/configure 
--help
  
.
/configure 
--prefix=
/application/nginx1
.12.0 --user=nginx --group=nginx --with-pcre 
--with-http_ssl_module --with-http_stub_status_module
  
echo 
$?
  
make
  
echo 
$?
  
make 
install
  
echo 
$?
  
ln 
-s 
/application/nginx1
.12.0/ 
/application/nginx
  
cd 
/application/nginx  

nginx目錄結(jié)構(gòu)
conf 配置文件
html 默認(rèn)站點
logs

日志文件

sbin 命令

總結(jié):

1 選擇軟件一定不能選擇最新的,否則出問題不容易解決,因為第一個吃螃蟹。
2 一定要自己創(chuàng)建用戶,否則nginx會給默認(rèn)用戶。
3 編譯的參數(shù)根據(jù)自己的實際情況出發(fā)。
4 編譯、make、make install要養(yǎng)成echo $?的習(xí)慣防止出錯。
5 做一個軟鏈接優(yōu)化路徑。

2、啟動nginx

/application/nginx/sbin/nginx 
-t
  
/application/nginx/sbin/nginx
  
lsof 
-i :80
  
curl localhost

總結(jié):

  • nginx的檢查語法操作是一樣的,只是命令名字換了
  • nginx啟動后面不需要任何參數(shù)
  • 本地做個訪問測試如果能成功則說明網(wǎng)站已經(jīng)在工作了,在如果外網(wǎng)訪問不進(jìn)來就是其他問題了,比如防火墻iptables、selinux等的問題

3、配置虛擬主機

如果熟悉了Apache的虛擬主機那么Nginx的虛擬主機也很容易理解,而且配置還比Apache簡單很多。

虛擬主機:

  • 基于域名的虛擬主機
  • 基于IP的虛擬主機
  • 基于端口的虛擬主機

mkdir 
/application/nginx/conf/extra 
-p
##把我們的虛擬主機文件放在這個擴(kuò)展目錄中,可以在管理網(wǎng)站的時候更加方便
  
vim 
/application/nginx/conf/nginx
.conf
##將主配置文件修改為以下內(nèi)容
worker_processes  1;
events {
   
worker_connections  1024;
}
http {
   
include       mime.types;
   
default_type  application
/octet-stream
;
   
sendfile        on;
   
keepalive_timeout  65;
   
include     extra
/blog
.conf;
   
include     extra
/easy
.conf;
   
include     extra
/bad
.conf;
}
  
  
vim 
/application/nginx/conf/extra/blog
.conf
##將虛擬主機blog配置文件配置為以下內(nèi)容,不存在則創(chuàng)建
   
server {
       
listen       80;
       
server_name  www.blog.linuxidc.com;
       
location / {
           
root   html
/blog
;
           
index  index.html index.htm;
   
}
}
  
vim 
/application/nginx/conf/extra/easy
.conf
##將虛擬主機easy配置為以下內(nèi)容,不存在則創(chuàng)建
   
server {
       
listen       80;
       
server_name  www.easy.linuxidc.com;
       
location / {
           
root   html
/easy
;
           
index  index.html index.htm;
       
}
}
  
vim 
/application/nginx/conf/extra/bad
.conf
##將虛擬主機bad配置文件修改為以下內(nèi)容,不存在則創(chuàng)建
   
server {
       
listen       80;
       
server_name  www.bad.linuxidc.com;
       
location / {
           
root   html
/bad
;
           
index  index.html index.htm;
       
}
}
  
cd 
/application/nginx/html/
  
for 
name 
in 
blog bad easy;
do 
mkdir 
$name; 
echo 
"$name.linuxidc.com" 

$name
/index
.html;
done
##利用for循環(huán)創(chuàng)建目錄,并向index.html中寫入內(nèi)容
  
tree ./
   
bad
│   └── index.html
├── blog
│   └── index.html
├── easy
│   └── index.html
  
  
vim 
/etc/hosts
127.0.0.1 localhost www.blog.linuxidc.com www.easy.linuxidc.org.cn 
##修改本地hosts文件,為了配合我們的基于域名的虛擬主機
  
ping 
-c 1 
  
ping 
-c 1 
  
ping 
-c 1  www.bad.linuxidc.com 
  
/application/nginx/sbin/nginx 
-s reload
##重啟nginx服務(wù)器
  
curl 
blog.linuxidc.com
  
curl 
bad.linuxidc.com
  
curl 
easy.linuxidc.com

提示:使用curl訪問域名時返回如上信息即基于域名的虛擬主機搭建成功。

擴(kuò)展:

* 域名重定向

  • 為什么需要域名重定向,第一是為了防止惡意綁定,最簡單的道理就是,域名是別人買的,別人想把域名指向公網(wǎng)中的任意一臺主機我們也沒有辦法。但是用了域名重定向后,可以在使用惡意域名訪問我們的服務(wù)器后,會在地址欄重定向為我們指定的域名,并訪問指定的站點。(理解一個原理,在一個未知域名訪問我們的主機時其實是以IP的形式訪問,也就是說我們重定向的其實是IP地址)
  • 還有就是多域名指向同意服務(wù)器,提高訪問量。

------------------------------------------------------------------
vim 
/application/nginx/conf/extra/rewrite
.conf
##編譯rewirte.conf文件不存在則創(chuàng)建,內(nèi)容如下
   
server {
       
listen       80;
       
server_name  www.rewrite.linuxidc.org;
       
rewrite ^/(.*) http:
//www
.easy.linuxidc.com/$1 permanent;
#^/表示
#
#永久有效 
}
----OK------------------------------------------------------------
  
------------------------------------------------------------------
vim 
/application/nginx/conf/nginx
.conf
##修改nginx的主配置文件,注意include的順序這個很重要否則域名重定向就沒用了
worker_processes  1;
events {
   
worker_connections  1024;
}
http {
   
include       mime.types;
   
default_type  application
/octet-stream
;
   
sendfile        on;
   
keepalive_timeout  65;
   
include     extra
/rewrite
.conf;
   
include     extra
/blog
.conf;
   
include     extra
/easy
.conf;
   
include     extra
/bad
.conf;
}
----OK------------------------------------------------------------
  
/application/nginx/sbin/nginx 
-t
  
/application/nginx/sbin/nginx 
-s reload
  
vim 
/etc/hosts
127.0.0.1 localhost www.blog.linuxidc.com www.easy.linuxidc.org.cn 
 
www.rewrite.linuxidc.org
  
ping 
-c 1 
  
curl -L  www.rewrite.linuxidc.org
  
curl -I  www.rewrite.linuxidc.org
HTTP
/1
.1 301 Moved Permanently
Server: nginx
/1
.12.0
Date: Sun, 16 Apr 2017 14:19:58 GMT
Content-Type: text
/html
Content-Length: 185
Connection: keep-alive
Location: http:
//www
.easy.linuxidc.com/

隱藏nginx版本號:

vim 
/application/nginx/conf/nginx
.conf
##修改為以下內(nèi)容
worker_processes  1;
events {
   
worker_connections  1024;
}
http {
   
include       mime.types;
   
default_type  application
/octet-stream
;
   
sendfile        on;
   
keepalive_timeout  65;
server{
       
listen 8080;
       
server_name www.linuxidc.win;
       
rewrite ^/(.*) http:
//www
.blog.linuxidc.com/$1 permanent;
}
   
include     extra
/easy
.conf;
   
include     extra
/bad
.conf;
   
include     extra
/blog
.conf;
       
server_tokens off;
}

apache隱藏版本號的方法:

----------------------------

cat 
/application/apache/conf/extra/httpd-default
.conf
.............
ServerTokens Prod
ServerSignature Off
.............

----------------------- 

nginx日志管理

  • 使用mv工具和crontab工具

具體方法如下:

----------------------------------------------------------------------------
vim nginx.conf
worker_processes  1;
events {
   
worker_connections  1024;
}
http {
   
include       mime.types;
   
default_type  application
/octet-stream
;
   
sendfile        on;
   
keepalive_timeout  65;
   
log_format  main 
'$remote_addr - $remote_user [$time_local] "$request" '
                     
'$status $body_bytes_sent "$http_referer" '
                     
'"$http_user_agent" "$http_x_forwarded_for"'
;
   
include     extra
/rewrite
.conf;
   
include     extra
/bad
.conf;
   
include     extra
/blog
.conf;
   
include     extra
/easy
.conf;
       
server_tokens off;
}
  
vim extra
/blog
.conf
   
server {
       
listen       80;
       
server_name  www.blog.linuxidc.com;
       
access_log  logs
/blog
.access.log  main;
       
location / {
           
root   html
/blog
;
           
index  index.html index.htm;
       
}
}
##其他的配置文件也一樣在server標(biāo)簽里添加日志信息
----OK------------------------------------------------------------
  
#sed -i '/server_name www.bad.linuxidc.com;/a\\taccess_log  logs\/bad.access.log 
main; ' extra
/bad
.conf
  
..
/sbin/nginx 
-t
  
..
/sbin/nginx 
-s reload
  
ll ..
/logs/
total 220
-rw-r--r-- 1 root root 110155 Apr 17 15:42 access.log
-rw-r--r-- 1 root root      0 Apr 17 15:42 bad.access.log
-rw-r--r-- 1 root root      0 Apr 17 15:42 blog.access.log
-rw-r--r-- 1 root root      0 Apr 17 15:42 easy.access.log
-rw-r--r-- 1 root root  98802 Apr 17 15:43 error.log
-rw-r--r-- 1 root root      6 Apr 16 22:29 nginx.pid
-rw-r--r-- 1 root root      0 Apr 17 15:42 rewrite.access.log
##可見日志文件已經(jīng)生成
  
---------------------------------------------------------------------------------
vim 
/application/nginx/logs/backlog
.sh
##寫一個自動備份的腳本
#!/bin/sh
  
for 
name 
in 
rewrite bad blog easy;
do
/bin/mv 
/application/nginx/logs/
${name}.access.log 
/applog/nginx/access/
$(
date 
+%F)_${name}.log
if 
[ $? -
eq 
0 ]
then
       
echo 
"$(date +%F) ${name}" 
>> 
/applog/nginx/access/successfully
.txt
else
       
echo 
"$(date +%F) ${name}" 
>> 
/applog/nginx/access/error
.txt
fi
done
  
/bin/find 
/applog/nginx/access/ 
-mtime +7 -
exec 
rm 
-rf {} \;
  
---腳本完成------OK------------------------------------------------------------
  
chmod 
+x 
/application/nginx/logs/backlog
.sh
  
crontab 
-e
30 1 * * * 
/application/nginx/logs/backlog
.sh
##晚上訪問量少,適合做備份等工作
  
mkdir 
-p 
/applog/nginx/access/   總結(jié):

  • 基于域名的虛擬主機普遍常用到,基于IP和端口的一般在公司內(nèi)部使用
  • 在修改配置文件之前一定要做好備份,一邊修改和對比
  • 創(chuàng)建擴(kuò)張目錄,存放虛擬主機的配置,因為在企業(yè)里由于需要配合大量的業(yè)務(wù),所以配置內(nèi)容也會隨之增加,如果全部都是在nginx.conf里的話會使得整個文件非常的臃腫。
  • apache的重啟:./bin/apachectl  restart
  • nginx的配置文件每句結(jié)尾一定要加上;(分號)
  • windows修改hosts的路徑:win+R--> system32--> drivers --> etc-->hosts。如果記事本不能修改,請先以管理員運行記事本,在把hosts文件拖入。推薦使用Notepad++。
  • Apache服務(wù)器在站點目錄下沒有index.html時,可以訪問并查看整個網(wǎng)站的目錄結(jié)構(gòu),可以通過修改httpd.conf中的“Options Indexes FollowSymLinks”---> "Options -Indexes FollowSymLinks"。nginx安全新則相對高點,如果沒有index.html文件直接報錯一般是403.
  • Apache服務(wù)器的默認(rèn)站點目錄是DocumentRoot。Nginx是root   html。
  • 服務(wù)器一定要隱藏版本號,否則容易被攻擊。

++++++++++++++++++++++nginx服務(wù)安裝完成++++++++++++++++++++++++

Mysql

4、安裝二進(jìn)制mysql

mysql分類:

社區(qū)版

商業(yè)版

集群

wget http:
//dev
.mysql.com
/get/Downloads/MySQL-5
.5
/mysql-5
.5.32-linux2.6-x86_64.
tar
.gz 
  
  
tar 
zxvf mysql-5.5.32-linux2.6-x86_64.
tar
.gz 
  
cp 
-avr mysql-5.5.32-linux2.6-x86_64/ 
/application/
  
cd 
/application/
  
mv 
mysql-5.5.32-linux2.6-x86_64/ mysql-5.5.32/
  
ln 
-s mysql-5.5.32/ mysql
  
useradd 
-M -s 
/sbin/nologin 
mysql
  
cd 
mysql
  
mkdir 
/application/mysql/data 
-p
  
chown 
-R mysql:mysql 
/application/mysql-5
.5.32/
  
-----------------------------------------------------------------
.
/scripts/mysql_install_db 
--basedir=
/application/mysql/ 
--datadir=
/application/mysql/data/ 
--user=mysql
  
##初始化數(shù)據(jù)庫
mysql_install_db根據(jù)版本的不同可能存放的路徑也不一樣
--basedir是mysql的安裝路縉
--datadir是數(shù)據(jù)文件存放路徑
--user是用戶名
成功的標(biāo)準(zhǔn)是
echo 
$?沒有錯誤+兩個OK沒有error
To start mysqld at boot 
time 
you have to copy
support-files
/mysql
.server to the right place 
for 
your system
##想要開機自動啟動,就把mysql.server放到正確的位置即/etc/init.d/mysqld
/application/mysql//bin/mysqladmin 
-u root password 
'new-password'
/application/mysql//bin/mysqladmin 
-u root -h linuxidc password 
'new-password'
Alternatively you can run:
/application/mysql//bin/mysql_secure_installation
##設(shè)置密碼的方法
You can start the MySQL daemon with:
cd 
/application/mysql/ 

/application/mysql//bin/mysqld_safe 
&
##運行數(shù)據(jù)庫
You can 
test 
the MySQL daemon with mysql-
test
-run.pl
cd 
/application/mysql//mysql-test 
; perl mysql-
test
-run.pl
##測試數(shù)據(jù)庫
  
提示:
/etc/init
.d
/mysqld
實質(zhì)是復(fù)制了mysql.server文件,所以一定不要和
cd 
/application/mysql/
 

/application/mysql//bin/mysqld_safe 
&方法一起用否則會出錯
  
---------------------------------------------------------------
  
\
cp 
support-files
/my-medium
.cnf 
/etc/my
.cnf
  
\
cp 
support-files
/mysql
.server 
/etc/init
.d
/mysqld
  
--------------------------------------
vim 
/etc/init
.d
/mysqld
..................
basedir=
/application/mysql/
datadir=
/application/mysql/data
...................
  
或者
  
#sed -i'46s/\(basedir=\)/\1\/application\/mysql/p' /etc/init.d/mysqld
##修改46行為basedir=/application/mysql,只限定當(dāng)前環(huán)境,其他環(huán)境可能有變化
  
#sed -i'47s/\(datadir=\)/\1\/application\/mysql\/data/p' /etc/init.d/mysqld
##修改datadir為/application/mysq/data
  
----OK---------------------------------
  
chmod 
+x 
/etc/init
.d
/mysqld
  
/etc/init
.d
/mysqld 
start
  
echo 
"export PATH=/application/mysql/bin:$PATH" 
>> 
/etc/profile
  
source 
/etc/profile
  
----------------------------------------------------
mysql_secure_installation
##以下內(nèi)容看自己的需求
  
mysql -uroot -p
  
mysql>show databases;
  
mysql> use mysql
  
mysql> show tables;
  
mysql> 
select 
User,Host from user;
  
mysql>DELETE FROM user WHERE User=
'root' 
and Host=
'::1'
;
## 目前是不會用的到的所以刪除,如果有需求就不用刪除
  
mysql> quit
  
--OK--------------------------------------------------   總結(jié):

a) 針對自己的硬件平臺選用合適的編譯器來優(yōu)化編譯后的二進(jìn)制代碼;
b) 根據(jù)不同的軟件平臺環(huán)境調(diào)整相關(guān)的編譯參數(shù);
c) 針對我們特定應(yīng)用場景選擇需要什么組件不需要什么組件;
d) 根據(jù)我們的所需要存儲的數(shù)據(jù)內(nèi)容選擇只安裝我們需要的字符集;
e) 同一臺主機上面可以安裝多個MySQL;
f) 等等其他一些可以根據(jù)特定應(yīng)用場景所作的各種調(diào)整。
在源碼安裝給我們帶來更大靈活性的同時,同樣也給我們帶來了可能引入的隱患:
a) 對編譯參數(shù)的不夠了解造成編譯參數(shù)使用不當(dāng)可能使編譯出來的二進(jìn)制代碼不夠穩(wěn)定;
b) 對自己的應(yīng)用環(huán)境把握失誤而使用的優(yōu)化參數(shù)可能反而使系統(tǒng)性能更差;
c) 還有一個并不能稱之為隱患的小問題就是源碼編譯安裝將使安裝部署過程更為復(fù)雜,所花費的
時間更長;

PHP 

需要下載以下的依賴包,并且編譯:

libiconv(libiconv-1.14.tar.gz)

libmcrypt-2.5.8.tar.gz,加密庫

mcrypt-2.6.8.tar.gz

mhash-0.9.9.9.tar.gz


當(dāng)前文章:CentOS6.8安裝LNMP環(huán)境(Linux+Nginx+MySQL+PHP)
分享地址:http://www.dlmjj.cn/article/dheiopp.html