標籤:

6- websever:Nginx & Apache安裝配置

6- websever:Nginx & Apache安裝配置

來自專欄 linux社區

6- 快速上手Linux玩轉典型應用- websever:Nginx & Apache安裝配置

標題超長了。寫在文章裡面

7- websever安裝配置

Nginx & Apache

並發量。

Apache基本操作

解釋命令安裝yum install httpd啟動service httpd start停止service httpd stop

centos中它叫httpd。ubuntu中就叫Apache

虛擬主機 偽靜態

sudo install httpdsudo service httpd startps -ef|grep httpdsudo service httpd restart

此時進入瀏覽器訪問無法訪問到我們的Apache。

sudo netstat -anpl | grep http

可以看到埠運行也是正常的。

防火牆機制。關閉防火牆

sudo service firewalld stop

此時通過http://192.168.0.7/可以訪問到我們的Apache頁面

虛擬主機

我們一個網站伺服器希望有很多不同的域名

cd /etc/httpd/lscd confvim httpd.conf

config.d 是配置文件 。config.modules.d是配置模塊的文件。

mark

監聽80埠,模塊下的任意conf文件

mark

根目錄是放在var/www/html

搜索virtual 。esc之後輸入"/virtual"回車

<VirtualHost *:80> ServerName www.mtianyan.test DocumentRoot /data/www <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None </Directory></VirtualHost>

配置我們的域名和根目錄

sudo service httpd restart

重啟httpd服務。

mkdir -p data/www

添加-p參數新建級聯目錄。

data目錄所屬用戶是在root賬號。如果對於目錄的操作許可權不夠可以使用

sudo chown -R mtianyan:mtianyan /data

chown 改變文件或目錄所有者。-R是遞歸的方式。

此時無法訪問。我們的域名是虛構的,所以需要使用host

sudo vim /etc/hosts

C:WindowsSystem32driversetc

此時訪問仍然是Apache的頁面。

cd /etc/httpd/cd logs/

許可權禁止。

sudo su -

  • 是一個環境變數切換到root用戶

報錯:

[Sat Jan 27 15:41:15.482043 2018] [authz_core:error] [pid 4847] [client 192.168.0.12:11981] AH01630: client denied by server configuration: /data, referer: http://www.mtianyan.test/sudo setenforce 0

系統關於安全的一個設置。0寬鬆模式

sudo vim /etc/selinux/config

修改為disabled寬鬆模式。

偽靜態: .html看起來像是靜態的。

/loadMoudle

mod_rewrite

mark

Nginx基本操作

解釋命令安裝yum install nginx啟動service nginx start停止service nginx stop重載service nginx reload

虛擬主機

yum install nginxyum search nginxsudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmsudo yum install -y nginx

reload是一種無縫的重載。

cd /etc/nginx sudo vim nginx.conf cd conf.d sudo vim default.conf sudo cp default.conf mtianyan.conf

新建一個我們自己的配置文件.mtianyan.conf

內容如下;

server { listen 80; server_name www.mtianyan.test; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /data/www; index index.html index.htm; }}

不能同時啟動nginx和Apache。可以看到

Redirecting to /bin/systemctl start nginx.serviceJob for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.sudo systemctl status nginx.service

執行提示我們執行的命令之後我們可以看到提示80埠已經被佔用。

一個埠只能被一個伺服器所使用。

多域名多埠

多埠

listen 80; listen 9999;

多域名

server_name www.mtianyan.test www.mtianyan2.test;

偽靜態

location/ { rewrite ^(.*).htmp$ /index.html;}

任意的以.htmp結尾的都去index.html

代表轉義。

日誌格式化

nginx.conf文件進行日誌格式化

log_format

mark

mark

自己新建的日誌格式要保存一致。

希望自己的虛擬主機的日誌存放在自己自定義位置mtianyan.conf中 server下

access_log /var/log/nginx/

反向代理和負載均衡

請求網站是代理返回過來的。我們請求nginx, nginx向另一台伺服器請求資料。

負載均衡。網站請求量比較大,兩台機器一起服務。

演示:

  1. 將我們的rewrite注釋掉

upstream mtianyan_hosts{ server 192.168.0.7:80 weight=5; server 192.168.0.8:80 weight=1;}server{ location /{ proxy_set_header Host blog.mtianyan.cn proxy_pass http://mtianyan_hosts; }}

輪流進行發送請求。以5比1的比例。負載均衡解決網站壓力分流。

調試技巧

看配置是否出錯。

add_header Content-Type "text/plain;charset=utf-8";return 200 "$http_host";

回顧

httpd

service 啟動 關閉 停止

虛擬主機 偽靜態 rewrite

virtual

nginx reload

多域名多埠,偽靜態。誒之格式化nginx.conf log_format

反向代理 & 負載均衡。

推薦閱讀:

linux內核情景分析之execve的實現
在安卓上部署伺服器 - 應用程序的配置
Android 驅動開發應該如何入門和學習成長?
在centos和redhat上安裝docker
對於爹媽這些不太懂電腦的人,有哪些簡單優秀操作系統備份還原軟體可以供他們使用?

TAG:Nginx | Linux |