❶ 如何在linux下搭建nginx伺服器
1、下載後解壓nginx
tar -zxvf nginx-1.4.7.tar.gz
2、安裝gcc等依賴包
yum -y install gcc pcre-devel openssl openssl-devel
3、開始安裝nginx
cd進入nginx-1.4.7目錄內
./configure 編譯
make&&make install 這一步需要先cd出來嗎?在裡面會安裝失敗嗎?我忘了 = =
4、此時就已經安裝完成,默認安裝在了/usr/local/nginx/sbin/nginx
5、啟動
命令行輸入/usr/local/nginx/sbin/nginx,沒反應
輸入ps -ef | grep nginx查看nginx進程
6、測試
命令行輸入 curl http://127.0.0.1
會出現welcome to nginx之類的就說明對了!
7、加入到環境變數
vim /etc/profile
尾行添加
PATH=$PATH:/usr/local/nginx/sbin
export PATH
保存關閉後運行 source /etc/profile 即會加入環境變數
8、常用命令
[root@ usr]# nginx -s stop停止nginx
[root@ usr]# nginx 運行nginx
[root@ usr]# nginx -s reload 重啟nginx
[root@ usr]# nginx -t 測試nginx
9、防火牆允許外網訪問
vim /etc/sysconfig/iptables
添加過濾規則
-A -INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
好像是保存後即時生效把?
service iptables stop
service iptables start
重啟服務後還是會生效,親測
10、修改網站默認根目錄路徑
網站默認根目錄放在/usr/local/nginx/html
命令行輸入 vim /usr/local/nginx/conf/nginx.conf
找到改為
server {
listen 80;
server_name localhost;
root /var/www/html/default;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
index index.html index.htm;
}
注釋掉下面的,在上面添加自己想要的根目錄,重啟nginx才能生效。
❷ nginx 怎麼搭建web伺服器
1.始說明
首先需要跟家說明教程使用IP址192.168.0.23主機名稱Server1.example.com些設置能所同需要根據同情況進行修改
2安裝Apache2
2.切換管理員身份
Ubuntu需要用root身份進行操作所用面命令確保root身份登錄:
sudo su
3.始安裝MySQL5
apt-get install mysql-server mysql-client
要求提供MySQLroot用戶密碼我需要紅色區域設置密碼
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword
4.安裝Apache2
Apache2作Ubuntu軟體包我直接用面命令安裝:
apt-get install apache2
5.安裝php5
我直接安裝PHP5ApachePHP5模塊:
apt-get install php5 libapache2-mod-php5
安裝完需要重啟
/etc/init.d/apache2 restart
6.測試PHP5並獲取PHP5安裝詳細信息:
默認網站文件根目錄/var/www現我該目錄創建型PHP文件(info.php)瀏覽器調用該文件顯示關於我PHP安裝安裝PHP版本用些細節
7.PHP5獲MySOL支持
讓PHPMySQL獲支持我安裝php-mysql軟體包安裝些其PHP5模塊及您能需要應用程序主意:
apt-cache search php5
安裝需要安裝
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
現重新啟Apache2:
/etc/init.d/apache2 restart
8.安裝phpMyAdmin
phpMyAdmin網路介面通管理MySQL資料庫
apt-get install phpmyadmin
看問題:
Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common? <-- No
❸ 如何搭建nginx伺服器
搭建nginx伺服器方法詳見:https://jingyan..com/article/25648fc1bf60a29191fd00d3.html
❹ 怎麼在linux下搭建一個nginx伺服器
大家對Nginx伺服器有了解嗎?如果想要了解網站伺服器的朋友,那麼就需要學習一下在電腦中搭建Nginx WEB伺服器的基礎,Nginx主要是用在Linux的主機上,不過它也可以運行在Windows上,下面就讓小編為大家介紹下,如何在Winxp系統中搭建Nginx WEB伺服器。 Winxp系統的電腦怎麼搭建Nginx WEB伺服器 具體方法如下: 1、下載Nginx程序包,僅有1M左右大小,相當小巧功能強大! 2、將下載好的zip壓縮包的文件全部解壓,雙擊運行nginx.exe,你會看到一個黑色窗口一閃而過就沒了,這就說明Nginx伺服器已經正式啟動(沒有程序界面的)。 3、在瀏覽器輸入訪問 127.0.0.1 回車,如果看到「Welcome to nginx!」則說明你在本機搭建的伺服器已經成功運行。如果沒有,請檢查你的電腦的80埠是否被佔用,或者打開任務管理器查看一下是否有兩個「nginx.exe」進程在運行。 4、完成以上簡單的三步後,我們的Nginx網頁伺服器就搭建完成了,但是呢到這里只能支持html的純網頁,如果想讓它支持php腳本還需要進一步安裝php的運行環境。 以上方法操作起來十分便捷,想要在XP系統上免費搭建Nginx伺服器的小夥伴們快來看看吧。如有更多疑問,歡迎訪問安下軟體站。
❺ 如何搭建linux nginx php mysql 環境
一、配置好IP、DNS 、網關,確保使用遠程連接工具能夠連接伺服器
二、配置防火牆,開啟80埠、3306埠
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允許80埠通過防火牆
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允許3306埠通過防火牆
特別提示:很多網友把這兩條規則添加到防火牆配置的最後一行,導致防火牆啟動失敗,正確的應該是添加到默認的22埠這條規則的下面
添加好之後防火牆規則如下所示:
#########################################################
# 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 ACCEP
❻ 如何搭建伺服器
首先打開控制面板,選擇「程序」,雙擊「打開或關閉Windows服務」,在彈出的窗口中選擇「Internet信息服務」下面所有地選項,點擊確定,開始更新服務。打開瀏覽器,輸入「localhost」回車,如果出現IIS7歡迎界面,說明啟動成功。
伺服器能夠響應終端的服務請求,並進行處理。我們在上網的時候是不可能直接將網路接入互聯網的,我們都需要通過伺服器來連接網路,只有伺服器響應你的聯網請求,並且進行處理以後才可以聯網;存儲的功能,伺服器的存儲空間一般比較充足,可以存儲非常多的信息。
伺服器部署注意事項
在許多伺服器機架,電源分配單元(PDU)的部署僅僅只提供了數量有限的輸出口,所以一台已經被大量使用的機架可能沒有足夠的開放式PDU插座以容納更多額外的伺服器,或無法很方便的為伺服器電源線安排可用的插座。
用戶可能會需要重新安排一些線纜,而只能通過拔掉伺服器的電源了,而這會造成系統的停機,故而這就需要運營團隊進行提前安排了。
❼ nginx怎麼在伺服器搭建網站
設置虛擬伺服器
listen:
nginx
配置文件至少包含一個
server
命令
,用來定義虛擬伺服器。當請求到來時,
nginx
會首先選擇一個虛擬伺服器來處理該請求。
虛擬伺服器定義在
http
上下文中的
server
中:
http
{
server
{
#
server
configuration
}
}
注意:
http
中可以定義多個
server
server
配置塊使用
listen
命令監聽本機
ip
和埠號(包括
unix
domain
socket
and
path),支持
ipv4、ipv6,ipv6地址需要用方括弧括起來:
server
{
listen
127.0.0.1:8080;
#
ipv4地址,8080埠
#
listen
[2001:3ca1:10f:1a:121b:0:0:10]:80;
#
ipv6地址,80埠
#
listen
[::]:80;
#
聽本機的所有ipv4與ipv6地址,80埠
#
the
rest
of
server
configuration
}
上述配置,如果不寫埠號,默認使用80埠,如果不寫
ip
,則監聽本機所有
ip。
❽ 如何用Nginx快速搭建一個安全的微服務架構
教你如何用Nginx搭建一個安全的、快速的微服務架構
今天我們要談論微服務以及如何使用Nginx構建一個快速的、安全的網路系統。最後,我們將向您展示一個使用Fabric模式如何非常快速和輕松地構建一個微服務的demo。
在我們探討Fabric模式之前,我想談一談微服務並且從Nginx的角度來看這意味著什麼。
0:56 - 大轉變
微服務已經引起了應用程序架構的重大轉變。
當我第一次開始構建應用程序時,他們都是差不多的。幻燈片中所展示的單體架構也象徵了應用程序的構造方式。
目前存在著某種類型的虛擬機(VM),對我來說,就是通常的Java。在虛擬機中應用的功能組件以對象的形式存在,這些對象是在內存中相互通訊的,它們將來來回回處理並進行方法調用。偶爾,你會採用諸如通知等機制來接觸到其他系統以便獲取數據或傳遞信息。
有了微服務之後,應用程序如何構建的範式是完全不同的了。你的功能組件會從在同一個主機的內存中通過虛擬機相互通訊轉變到部署在容器中,並且使用Restful API調用通過HTTP來相互連接。
這是非常強大的,因為它賦予了你功能隔離。它為您提供了更細粒度的可伸縮性,並且你可以獲得更好地處理故障的彈性。很多情況下這是簡單的事實,你只需要使用HTTP進行跨網路調用。
現在,這種方法也有一些缺點。
一件軼事
我有一個暗黑的秘密,我是一個微軟的員工並且從事.Net開發已經很多年了。當我在那兒的時候,我搭建了一個他們的名為Showcase的視頻發布平台。
Showcase是一個用來將微軟內部發布的所有視頻發布到網上的工具。人們可以觀看這些視頻並進行學習,比如Microsoft Word的使用提示和技巧。這是一個非常受歡迎的平台,我們有很多人使用它,並且其中很多人都會在我們發布的視頻上發表評論。
Showcase從一開始就是一個.Net單體應用,隨著它日益受歡迎,我們決定應該將它更換為SOA架構。轉換是相對容易的。Visual Studio提供了本質上的翻轉開關的能力,也就是將你的DLL調用轉變為Restful API調用。隨著一些小的重構,我們能夠讓我們的代碼運行得相當好。我們也為這些評論和應用內的社區功能使用智能社區服務。
緊密的迴路問題
看起來我們是SOA可行的,在我們的首次測試中,一切都工作正常,直到我們將系統切換到我們的Staging環境並開始使用生產環境數據時,我們就會看到一些嚴重的問題。這些問題在在頁面上有很多評論。
這是一個非常受歡迎的平台,其中的一些頁面已經有多達2000條評論了。當我們深入這些問題時,我們意識到這些頁面需要花費一分鍾進行渲染的原因是因為智能社區服務首先需要填充用戶名,然後對每一個用戶名都需要發起一個對於用戶資料庫的網路調用來獲得用戶詳細信息並且填充在渲染頁面上。這是非常低效的,需要一到兩分鍾來渲染頁面,而在內存中進行通常只需要5到6秒鍾。
緩解
當我們經歷了發現和解決問題的過程後,我們最終通過一些措施來調整優化系統,比如對所有的請求進行分組。我們緩存了一些數據,最終我們優化了網路來真正的提高性能。
所以,這與微服務有什麼關系呢?對的,藉助於微服務,你基本上是採用SOA架構的,並且會將其放入超光速引擎中。在SOA架構中所有的對象都是包含在單個虛擬機中並且在其內部管理,在內存中相互通訊,而現在微服務中是使用HTTP進行數據交換的。
當這樣做沒有問題時,你會獲得很好的性能和線性可伸縮性。
Nginx能夠很好地與微服務工作
Nginx是一個你可以用來過渡到微服務的最佳工具之一。
關於Nginx和微服務的一些歷史。我們從一開始就參與了微服務運動,還是第一個從Docker Hub下載應用的,我們的客戶以及那些擁有一些世界上最大的微服務安裝量的最終用戶廣泛地在他們的基礎設施使用Nginx。
原因是Nginx很小、很快並且很可靠。
Nginx微服務參考架構
我們還致力於在Nginx內部使用微服務工作已經有一段時間了。這是一個我們已經搭建的程式化的Nginx微服務參考架構,目前正在AWS上運行。
我們擁有6個核心的微服務,它們都運行在Docker容器里。我們決定建立一個多語種的應用,所以每個容器都可以運行不同的語言,我們目前使用了Ruby、Python、PHP、Java和Node.js。
我們搭建了這個使用十二要素應用的系統,稍加修改,就會使其更好地為微服務工作從而可以替代Roku平台。稍後,我們將向您展示一個實際上運行在demo里的應用。
MRA的價值
為什麼我們要建立這樣一個參考的微服務架構呢?
我們建立這個參考架構是因為我們需要給我們的客戶提供構建微服務的藍圖,我們也想在微服務上下文中測試Nginx和Nginx Plus的功能,弄清楚如何才能更好地利用它的優勢。最後,我們要確保我們對於微服務生態系統以及其可以給我們提供什麼有一個深入的理解。
網路問題
讓我們回到我們討論的大轉變。
從將運行在內存里並且被虛擬機管理的你的應用的所有功能組件遷移到通過網路進行工作並且相互通訊的方式,你會本質上引入一系列為了應用有效工作需要你解決的問題。
第一你需要服務發現,第二,你需要在架構中為所有不同的實例進行負載均衡,然後還有第三個,你需要操心性能和安全。
無論是好是壞,這些問題密不可分,你必須做權衡,有希望的是我們有一個可以解決所有這些問題的解決方案。
讓我們更深入地看待每一個問題。
服務發現
讓我們來談談服務發現。在單體應用中,APP引擎會管理所有的對象關系,你永遠不必擔心一個對象與另一個對象的相對位置,你只需要簡單的調用一個方法,虛擬機會連接到對象實例,然後在調用完畢後銷毀。
然後有了微服務,你需要考慮那些服務的位置。不幸的是,這不是一個普遍的標准流程。您正在使用的各種服務注冊中心,無論是Zookeeper、Consul、etcd或者其它的,都會以不同的方式進行工作。在這個過程中,你需要注冊你的服務,還需要能夠讀取這些服務在哪裡並且可以被連接。
負載均衡
第二個問題是關於負載均衡的。當您擁有多個服務實例時,您希望能夠輕松地連接到它們,將您的請求在它們中高效地分發,並以最快的方式執行,所以不同實例之間的負載均衡是非常重要的問題。
不幸的是,最簡單形式的負載均衡是非常低效的。當你開始使用不同的更加復雜的方案做負載均衡時,它也變得更加復雜並且不易於管理。理想情況下,您希望您的開發人員能夠基於他們的應用程序的需求決定何種負載均衡方案。例如,如果你連接到一個有狀態的應用程序,你需要擁有持久化,這樣可以確保你的Session信息會被保留。
安全和快速通訊
也許微服務最令人生畏的領域是性能和安全。
當在內存中運行時,一切都很快。現在,運行在網路上就會慢了一個數量級。
被安全地包含在一個系統中的信息,通常是二進制格式的,現在會被用文本格式在網路上傳輸。現在是比較容易在網路上布置嗅探器並能夠監聽你的應用正在被移動的所有數據。
如果要在傳輸層加密數據,那麼會在連接速率和CPU使用率方面引入顯著的開銷。SSL/TLS在其全面實施階段需要九個步驟來初始化一個請求。當你的系統每天需要處理成千上萬、幾萬、數十萬或數百萬的請求時,這就成為性能的一個重要障礙了。
一個解決方案
我們已經在Nginx開發的一些解決方案,我們認為,會解決所有的這些問題,它賦予你健壯的服務發現、非常棒的用戶可配置負載均衡以及安全和快速加密。
網路架構
讓我們來談談你可以安裝和配置你的網路架構的各種方法。
我們提出了三種網路模型,它們本身並不相互排斥,但我們認為它們屬於多種格式的。這三種模式是Proxy模式、Router Mesh模式和Fabric模式——這是最復雜的,並在許多方面在其頭部進行負載均衡。
Proxy模式
Proxy模式完全聚焦於你的微服務應用的入站流量,並且事實上忽略內部通訊。
你會獲得Nginx提供的所有的HTTP流量管理方面的福利。你可以有SSL/TLS終止、流量整形和安全,並且藉助於最新版本的Nginx Plus和ModSecurity,你可以獲得WAF能力。
你也可以緩存,你可以將Nginx提供給你的單體應用的所有東西添加到你的微服務系統里,並且藉助於Nginx Plus,你可以實現服務發現。當你的API實例上下浮動時,Nginx Plus可以在負載均衡工具里動態地添加和減去它們。
Router Mesh模式
Router Mesh模式類似於Proxy模式,在其中我們有一個前端代理服務來管理接入流量,但它也在服務之間添加了集中式的負載均衡。
每個服務連接到集中式的Router Mesh,它管理不同服務之間的連接分發。Router Mesh模式還允許你在熔斷器模式中搭建,以便可以對你的應用添加彈性並允許你採取措施來監控和拉回你的失效的服務實例。
不幸的是,因為該模式增加了一個額外的環節,如果你不得不進行SSL/TLS加密,它事實上加劇了性能問題。這就是引入Fabric模式的原因。
Fabric模式
Fabric模式是將其頭部的所有東西翻轉的模式。
就像之前的另外兩個模式一樣,在前面會有一個代理伺服器來管理流入流量,但與Router Mesh模式不同的地方就是你用運行在每個容器里的Nginx Plus來替代了集中式的Router。
這個Nginx Plus實例對於所有的HTTP流量作為反向和正向代理,使用這個系統,你可以獲得服務發現、健壯的負載均衡和最重要的高性能加密網路。
我們將探討這是如何發生的,以及我們如何處理這項工作。讓我們先來看看一個服務如何連接和分發他們的請求結構的正常流程。
正常的流程
在這個圖中,你可以看到投資管理器需要跟用戶管理器通訊來獲取信息。投資管理器創建了一個HTTP客戶端,該客戶端針對服務注冊中心發起了一個DNS請求並獲得返回的一個IP地址,接著初始化了一個到用戶管理器的SSL/TLS連接,該連接需要通過九階段的協商或者是」握手」過程。一旦數據傳輸完畢,虛擬機會關閉連接並進行HTTP客戶端的垃圾回收。
整個過程就是這樣。這是相當簡單和易於理解的。當你把它分解成這些步驟時,您可以看到該模式是如何真正完成請求和響應過程的。
在Fabric模式中,我們已經改變了這一點。
Fabric模式的細節
你會注意到的第一件事是Nginx Plus是運行在每一個服務里的,並且應用程序代碼是在本地與Nginx Plus通信的。因為這些是本地連接,你不需要擔心加密問題。它們可以是從Java或者PHP代碼到Nginx Plus實例的HTTP請求,並且都是在容器內的本地HTTP請求。
你也注意到Nginx Plus會管理到服務注冊中心的連接,我們有一個解析器,通過非同步查詢注冊中心的DNS實例來獲取所有的用戶管理器實例,並且預先建立連接,這樣當Java服務需要從用戶管理器請求一些數據的時候,可以使用預先建立的連接。
持久的SSL/TLS連接
微服務之間的有狀態的、持久化的並且可以加密的連接是真正的益處。
記得在第一個圖中服務實例是如何通過一些流程的吧,比如創建HTTP客戶端、協商SSL/TLS連接、發起請求並關閉的嗎?在這里,Nginx預先建立了微服務之間的連接,並使用Keepalive特性,保持調用之間的持續連接,這樣你就不必為每一個請求處理SSL/TLS協商了。
本質上,我們創建了一個迷你的從服務到服務的VPN連接。在我們最初的測試中,我們發現連接速度增加了77%。
熔斷器Plus
在Fabric模式以及Router Mesh模式中,你也可以從創建和使用熔斷器模式中獲得好處。
本質上,您定義了一個在服務內部的活躍的健康檢查,並設置緩存,以便在服務不可用的情況下保留數據,從而獲得完整的熔斷器功能。
所以,現在我可以確定你認為Fabirc模式聽起來很酷,並且想在實際環境中躍躍欲試。
❾ 怎麼用nginx在windows上搭建web伺服器
怎麼用nginx在windows上搭建web伺服器解決方法
所需工具:
一台聯網的電腦
phpStudy 2014版
windows 2003 server sp2伺服器一台
1.phpstudy安裝在第四步時選擇Nginx&php
❿ 如何在遠程Linux伺服器上搭建Nginx
1.將nginx的壓縮包nginx-1.8.0.tar.gz上傳到Linux伺服器
2.由於nginx是C語言開發的並且我們這里是通過編譯nginx的源碼來安裝nginx,所以Linux上要安裝C語言的編譯環境gcc,
如果已經安裝此步可以省略,否則執行命令:
3.nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。
yum install -y pcre pcre-devel
4.zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。
yum install -y zlib zlib-devel
5.nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。
yum install -y openssl openssl-devel
6.在Linux上創建nginx的臨時目錄,注意我這里是在Linux文件系統下的
/var下創建文件夾temp在temp下創建nginx。即:/var/temp/nginx
7.執行命令:
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_mole --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi
8.編譯源碼,安裝nginx:
makemake install
9.啟動nginx:
cd /usr/local/nginx/sbin/./nginx -c /usr/local/nginx/conf/nginx.conf
在瀏覽器中訪問: http://localhost 出現下面界面表示安裝成功:
我們此時也可以查看到nginx進程的運行情況:
ps aux|grep nginx
10.nginx伺服器的停止方式:
方式一:先查出nginx進程id再使用kill命令強制殺掉進程。
cd /usr/local/nginx/sbin./nginx -s stop方式二(推薦):待nginx進程處理任務完畢進行停止。
cd /usr/local/nginx/sbin./nginx -s quit
以上就是本文的全部內容,希望對大家的學習有所幫助