linux-nginx服務器搭建
-
簡介:
- Nginx相對於Apache的優勢:
1.輕量級,採用C進行編寫,同樣的web服務,會佔用更少的內存及資源 2.抗併發,nginx以epoll and kqueue作爲開發模型,處理請求是異步非阻塞的,多個連接對應一個進程,負載能力比apache高很多, 而apache則是同步多進程模型,只能一個連接對應一個進程,當壓力過大時,它是會被阻塞型的。 在高併發下nginx能保持低資源低消耗高性能 ,而apache在PHP處理慢或者前端壓力很大的情況下,很容易出現進程數飆升,從而拒絕服務的現象。 3.設計高度模塊化,編寫模塊相對簡單 4.配置簡潔,正則配置讓很多事情變得簡單,而且改完配置能使用 -t 測試配置有沒有問題,apache 配置複雜 ,重啓的時候發現配置出錯了,會很崩潰 5.一般用於處理靜態文件,靜態處理性能比apache高三倍以上 6.作爲負載均衡服務器,支持7層負載均衡 7.本身就是一個反向代理服務器,而且可以作爲非常優秀的郵件代理服務器 8.nginx啓動特別容易, 並且幾乎可以做到 7*24 不間斷運行,即使運行數個月也不需要重新啓動, 支持熱部署,比如:實現不間斷服務的情況下進行軟件版本的升級與版本的回退 9.社區活躍,各種高性能模塊出品迅速
- Apache相對於Nginx的優勢:
1.apache的rewrite比nginx強大,在rewrite頻繁的情況下,用apache 2.apache發展到現在,模塊超多,基本想到的都可以找到 3.apache更爲成熟,少bug ,nginx的bug相對較多 4.apache超穩定,一個進程死掉時,會影響到多個用戶的使用,穩定性差 5.apache對PHP支持比較簡單,nginx需要配合其他後端用 6.apache在處理動態請求有優勢,nginx在這方面是雞肋,一般動態請求要apache去做,nginx適合靜態和反向。 7.apache仍然是目前的主流,擁有豐富的特性,成熟的技術和開發社區
- 總結
兩者最核心的區別在於: Apache是同步多進程模型,一個連接對應一個進程,而Nginx是異步的,多個連接(萬級別)可以對應一個進程。
- 使用場景
一般來說,需要性能的web服務,用Nginx;如果不需要性能只求穩定,更考慮Apache; Nginx處理放靜態內容比Apache要好,特別是在可承受壓力、帶寬及資源消耗上都要優於Apache。 所以更爲通用的方案是,前端Nginx抗併發,後端Apache集羣,配合起來會更好。
1.安裝nginx
-
檢查網絡環境,查看服務器是否可以上網貴
-
Centos7配置阿里雲yum源和安裝EPEL源
-
對默認原文件進行備份
#cd /etc/yum.repos.d #mkdir bak #mv *.repo bak/
-
配置阿里雲yum源:
#wget http://mirrors.aliyun.com/repo/Centos-7.repo #yum clean all #yum makecache
-
安裝EPEL源:
#yum install -y epel-release
-
-
安裝nginx並配置服務:
-
安裝nginx服務:
#yum install nginx
-
主配置文件:
vim /etc/nginx/nginx.conf
-
默認目錄:
/usr/share/nginx/html
-
日誌文件:
error_log /var/log/nginx/error.log; error_log /var/log/nginx/access.log
-
日誌格式分析
安全加固:https://www.cnblogs.com/xiaozi/p/10119062.html
-
-
修改nginx配置文件:
#vim /etc/nginx/nginx.conf 在文件最後一個}號前添加: include vhost/*.conf;
-
在/etc/nginx目錄下新建vhost目錄,並在下面新建www.test.conf
# cd /etc/nginx # mkdir vhost # vim vhost/www.test.conf
- www.test.conf文件寫入的內容:
server{ listen 192.168.75.128:80; server_name www.test.com; location / { root /data/test; index index.html; } }
-
將網站文件test拷貝到/data/目錄下
-
查看www.test.conf配置文件是否出錯:
nginx -t
-
重啓服務:
systemctl restart nginx
-
關閉防火牆:
systemctl stop firewalld
-
關閉selinux安全機制:
setenforce 0
-
基於域名的虛擬主機:
# vim /etc/hosts 添加: 192.168.75.128 www.test.com 192.168.75.128:虛擬機ip地址
-
訪問測試:瀏覽器測試:www.test.com
-
不能訪問:
-
看看80端口是否被其它服務佔用
-
lsof -i 80 netstat -tunlp
-
如果被佔用:
kill -9 PID
-
-
hosts:域名註冊是否成功:
ping www.test.com
-