顛末一段時間的利用,發明nginx在并發與負載本領方面確實優于apache,香港網存空間 北京主機,此刻已經將大部門站點從apache轉到了nginx了。以下是nginx的一些簡樸的安裝設置。
情況
操縱系統:CentOS、RedHat
IP地點:192.168.1.202
下載軟件包# mkdir /usr/local/src/tarbag
# mkdir /usr/local/src/software
# cd /usr/local/src/tarbag/
# wget http://www.nginx.org/download/nginx-1.0.6.tar.gz
# wget http://labs.frickle.com/files/ngx_cache_purge-1.3.tar.gz
編譯安裝# cd /usr/local/src/tarbag/
# tar -xzvf nginx-1.0.6.tar.gz -C /usr/local/src/software
# tar -xzvf ngx_cache_purge-1.3.tar.gz -C /usr/local/src/software
# cd /usr/local/src/software/
# ./configure
–prefix=/usr/local/nginx-1.0.6 # 安裝路徑
–with-http_stub_status_module # 啟用nginx狀態模塊
–with-http_ssl_module # 啟用SSL模塊
–with-http_realip_module # 啟用realip模塊(將用戶IP轉發給后端處事器)
–add-module=../ngx_cache_purge-1.3 # 添加緩存排除擴展模塊
# make
# make install
內核參數優化
# vi sysctl.conf 增加以下設置
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1800
net.ipv4.ip_conntrack_max = 16777216 # 假如利用默認參數,容易呈現網絡丟包
net.ipv4.netfilter.ip_conntrack_max = 16777216# 假如利用默認參數,容易呈現網絡丟包
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries =
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65535
設置生效
# sysctl –p
修改iptables啟動劇本,在star()函數內里加上
# vi /etc/init.d/iptables
/sbin/sysctl -p
設置典型站點站點
序號
目次
1
www.heytool.com
/www/html/www.heytool.com
2
bbs.heytool.com
/www/html/bbs.heytool.com
修改nginx設置文件:
# vi nginx.conf
user nobody nobody; # 運行nginx的所屬組和所有者
worker_processes 2; # 開啟兩個nginx事情歷程,一般幾個CPU焦點就寫幾
error_log logs/error.log notice; # 錯誤日志路徑
pid logs/nginx.pid; # pid路徑
events {
worker_connections 1024; # 一個歷程能同時處理懲罰1024個請求
}
http {
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;
keepalive_timeout 65; # keepalive超市時間
# 開始設置一個域名,一個server設置段一般對應一個域名
server {
listen 80; #
# 在本機所有ip上監聽80,也可以寫為192.168.1.202:80,這樣的話,就只監聽192.168.1.202上的80口
server_name www.heytool.com; # 域名
root /www/html/www.heytool.com; # 站點根目次(措施目次)
index index.html index.htm; # 索引文件
location / { # 可以有多個location
root /www/html/www.heytool.com; # 站點根目次(措施目次)
}
error_page 500 502 503 504 /50x.html;
# 界說錯誤頁面,假如是500錯誤,則把站點根目次下的50x.html返回給用戶
location = /50x.html {
root /www/html/www.heytool.com;
}
}
# 開始設置站點bbs.heytool.com
server {
listen 80;
server_name bbs.heytool.com;
root /www/html/bbs.heytool.com;
index index.html index.htm; # 索引文件
location / {
root /www/html/bbs.heytool.com;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /www/html/bbs.heytool.com;
}
}
}
Nginx啟動封鎖
# /usr/local/nginx-1.0.6/sbin/nginx //啟動nginx
# /usr/local/nginx-1.0.6/sbin/nginx –t //測試nginx設置文件的精確性
# /usr/local/nginx-1.0.6/sbin/nginx –s reload //重載nginx
# /usr/local/nginx-1.0.6/sbin/nginx –s stop //封鎖nginx
測試
建設測試站點
# mkdir –p /www/html/www.heytool.com
# mkdir –p /www/html/bbs.heytool.com
# echo “www.heytool.com” > /www/html/www.heytool.com/index.html
# echo “bbs.heytool.com” > /www/html/bbs.heytool.com/index.html
啟動nginx
# /usr/local/nginx-1.0.6/sbin/nginx –t //看到ok和successful,說明設置文件沒問題
nginx: the configuration file /usr/local/ nginx-1.0.6/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/ nginx-1.0.6/conf/nginx.conf test is successful
# /usr/local/nginx-1.0.6/sbin/nginx
綁定hosts,測試
把兩個域名指向192.168.1.202
192.168.1.202 www.heytool.com
192.168.1.202 bbs.heytool.com
打開www.heytool.com,如下圖:
打開bbs.heytool.com,如下圖:
完畢!!!!
更多設置參考:http://www.docin.com/p-222277825.html
參考視頻教程:http://www.kuaipan.cn/index.php?ac=file&oid=29331332391763978
文章推薦:
Haproxy+keepalived實現sphinx高可用負載平衡
利用haproxy來實現sphinx負載平衡與康健監測
耐久化存儲系統ttserver的安裝設置
版權說明 文章標題: nginx安裝設置+清緩存模塊安裝