nginx依賴包安裝
先安裝依賴包
1.gcc安裝:安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝
2.PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。
nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫
3.zlib庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
4.OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不僅支持 http 協議,還支持 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。
yum install -y gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel
nginx下載與安裝
直接下載.tar.gz安裝包,下載地址:https://nginx.org/en/download.html
把下載的包放到/usr/local/nginx目錄,然后解壓安裝到nginx-1.12.0當前目錄,make編譯安裝
[root@yoyo sbin]# cd ~ [root@yoyo ~]# cd /usr/local/ [root@yoyo local]# mkdir nginx [root@yoyo local]# cd nginx [root@yoyo nginx]# wget -c https://nginx.org/download/nginx-1.12.0.tar.gz [root@yoyo nginx]# tar -zxvf nginx-1.12.0.tar.gz [root@yoyo nginx]# cd nginx-1.12.0 # 安裝到當前目錄 [root@yoyo nginx]# ./configure [root@yoyo nginx]# make [root@yoyo nginx]# make install
到此為止環境已經安裝好,接下來啟動nginx服務
[root@yoyo nginx]# cd /usr/local/nginx/sbin/ [root@yoyo nginx]# ./nginx
啟動服務后,nginx默認是在80端口啟動的,在瀏覽器輸入http://47.104.x.x:80/ (80端口默認可以省略),能正常訪問到頁面,說明服務啟動成功
相關指令
先cd到/usr/local/nginx/sbin/
1.啟動服務
./nginx
2.停止服務,此方式停止步驟是待nginx進程處理任務完畢進行停止。
./nginx -s stop
3.退出服務,此方式相當於先查出nginx進程id再使用kill命令強制殺掉進程。
./nginx -s quit
4.重新加載,當 ngin x的配置文件 nginx.conf 修改后,要想讓配置生效需要重啟 nginx,
使用-s reload不用先停止 ngin x再啟動 nginx 即可將配置信息在 nginx 中生效
./nginx -s reload
5.查詢nginx進程
ps aux|grep nginx
開機自啟動
在系統服務目錄里創建nginx.service文件
vim /lib/systemd/system/nginx.service
內容如下
[Unit]:服務的說明
Description:描述服務
After:描述服務類別
[Service]服務運行參數的設置
Type=forking是后台運行的形式
ExecStart為服務的具體運行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑
[Install]運行級別下服務安裝的相關設置,可設置為多用戶,即系統運行級別為3
:wq保存退出。
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
1.設置開機自啟動
systemctl enable nginx.service
2.停止開機自啟動
systemctl disable nginx.service
3.啟動服務
systemctl start nginx.service
4.重新啟動服務
systemctl restart nginx.service
5.查看所有已啟動的服務
systemctl list-units --type=service
修改nginx啟動端口
如果80端口之前已經使用過了,可以修改nginx的服務端口,先cd到/usr/local/nginx/conf目錄
為了保險起見,編輯前先備份下原來的文件:cp nginx.conf nginx.conf.bak
[root@yoyo ~]# cd /usr/local/nginx/conf [root@yoyo conf]# ll total 60 -rw-r--r-- 1 root root 1077 Jan 8 14:16 fastcgi.conf -rw-r--r-- 1 root root 1077 Jan 8 14:16 fastcgi.conf.default -rw-r--r-- 1 root root 1007 Jan 8 14:16 fastcgi_params -rw-r--r-- 1 root root 1007 Jan 8 14:16 fastcgi_params.default -rw-r--r-- 1 root root 2837 Jan 8 14:16 koi-utf -rw-r--r-- 1 root root 2223 Jan 8 14:16 koi-win -rw-r--r-- 1 root root 3957 Jan 8 14:16 mime.types -rw-r--r-- 1 root root 3957 Jan 8 14:16 mime.types.default -rw-r--r-- 1 root root 2656 Jan 8 14:16 nginx.conf -rw-r--r-- 1 root root 2656 Jan 8 14:16 nginx.conf.default -rw-r--r-- 1 root root 636 Jan 8 14:16 scgi_params -rw-r--r-- 1 root root 636 Jan 8 14:16 scgi_params.default -rw-r--r-- 1 root root 664 Jan 8 14:16 uwsgi_params -rw-r--r-- 1 root root 664 Jan 8 14:16 uwsgi_params.default -rw-r--r-- 1 root root 3610 Jan 8 14:16 win-utf [root@yoyo conf]# cp nginx.conf nginx.conf.bak [root@yoyo conf]# vim nginx.conf
vim打開后,找到服務端口listen 80
這段,輸入鍵盤上i鍵后編輯,改成81
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; }
編輯完成后按Esc鍵,輸入:wq
保存退出
修改后重新加載下配置文件
[root@yoyo sbin]# cd /usr/local/nginx/sbin/ [root@yoyo sbin]# ./nginx -s reload
接着去阿里雲ECS服務后台-安全組-新增規則-添加81端口,在瀏覽器上就能訪問了