日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

Nginx 特性

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

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

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

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

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

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

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

nginx優(yōu)點:

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

環(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(二進制版)

php-5.6.30.tar.gz

nginx-1.12.0.tar.gz

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

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

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

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

大綱:

  1. 安裝nginx
  2. 啟動nginx
  3. 配置虛擬主機
  4. 安裝mysql二進制版
  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目錄結構
conf 配置文件
html 默認站點
logs

日志文件

sbin 命令

總結:

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

2、啟動nginx

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

總結:

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

3、配置虛擬主機

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

虛擬主機:

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

mkdir 
/application/nginx/conf/extra 
-p
##把我們的虛擬主機文件放在這個擴展目錄中,可以在管理網站的時候更加方便
  
vim 
/application/nginx/conf/nginx
.conf
##將主配置文件修改為以下內容
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配置文件配置為以下內容,不存在則創(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配置為以下內容,不存在則創(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配置文件修改為以下內容,不存在則創(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中寫入內容
  
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服務器
  
curl 
blog.linuxidc.com
  
curl 
bad.linuxidc.com
  
curl 
easy.linuxidc.com

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

擴展:

* 域名重定向

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

------------------------------------------------------------------
vim 
/application/nginx/conf/extra/rewrite
.conf
##編譯rewirte.conf文件不存在則創(chuàng)建,內容如下
   
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
##修改為以下內容
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標簽里添加日志信息
----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
##可見日志文件已經生成
  
---------------------------------------------------------------------------------
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/   總結:

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

++++++++++++++++++++++nginx服務安裝完成++++++++++++++++++++++++

Mysql

4、安裝二進制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
  
##初始化數據庫
mysql_install_db根據版本的不同可能存放的路徑也不一樣
--basedir是mysql的安裝路縉
--datadir是數據文件存放路徑
--user是用戶名
成功的標準是
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
##設置密碼的方法
You can start the MySQL daemon with:
cd 
/application/mysql/ 

/application/mysql//bin/mysqld_safe 
&
##運行數據庫
You can 
test 
the MySQL daemon with mysql-
test
-run.pl
cd 
/application/mysql//mysql-test 
; perl mysql-
test
-run.pl
##測試數據庫
  
提示:
/etc/init
.d
/mysqld
實質是復制了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,只限定當前環(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
##以下內容看自己的需求
  
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--------------------------------------------------   總結:

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

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


網頁題目:CentOS6.8安裝LNMP環(huán)境(Linux+Nginx+MySQL+PHP)
網站鏈接:http://www.5511xx.com/article/dheiopp.html