CentOS 7.2環境搭建實錄(第一章:環境配置和nginx安裝)

第一章:環境配置和nginx安裝

前提備註php

爲了學習python相關內容,筆者在網上買了個服務器,忙活了兩天終於把相關的環境搭    
建起來了,全部的軟件用的都是最新版,因此踩了不少的坑,如今把這些步驟寫出來,給
你們提供一個參考,由於第一次寫文章,確定有不足的地方,請你們多多指教。

環境預覽python

centos 7.2
nginx  1.13.8
php    7.2.2
python 2.7.5/3.6.4
mysql  5.7.18
pgsql  10.1

服務器Centosmysql

購買地址:
https://www.vultr.com/
2.5美圓一個月劃到180一年,1CPU, 20GBSSD, 512M內存, 每個月500G流量作爲學習夠用了
https://www.aliyun.com/chinaglobal/promotion/overseaall2017
也能夠選擇阿里海外版,比這個配置高一點,40G, 1G內存, 用完優惠券大概一年280左右

準備工做nginx

關閉防火牆:systemctl stop firewalld.service
查看防火牆狀態:firewall-cmd --state
安裝網絡工具:yum install net-tools
安裝網絡工具:yum install nmap
安裝gcc工具:yum install gcc gcc-c++
安裝pcre庫:yum install pcre pcre-devel
安裝zlib庫:yum install zlib zlib-devel
全部用戶默認爲root

安裝nginxc++

cd /usr/local/src 該文件夾作爲安裝包存放點
wget http://nginx.org/download/nginx-1.13.8.tar.gz
tar -zxvf nginx-1.13.8.tar.gz
cd nginx-1.13.8

添加nginx用戶及用戶組(能夠省略,本身玩能夠不用添加)sql

groupadd nginx
useradd -r -g nginx nginx

編譯nginxsegmentfault

./configure
--prefix=/usr/local/nginx
--sbin-path=/usr/local/nginx/sbin/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--user=nginx(上步省略,可去掉)
--group=nginx(上步省略,可去掉)
--with-http_ssl_module
--with-http_flv_module
--with-http_mp4_module
--with-http_stub_status_module
--with-http_gzip_static_module
--http-client-body-temp-path=/var/tmp/nginx/client/
--http-proxy-temp-path=/var/tmp/nginx/proxy/
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi/
--http-scgi-temp-path=/var/tmp/nginx/scgi/

編譯過程當中若是報錯,很大機率是缺乏插件包,根據提示yum安裝就好
編譯結束沒問題執行
make && make install

安裝完成,配置nginx.confcentos

cd /usr/local/nginx/
mkdir conf.d(備用)

vi nginx.conf
將listen改爲8080,43-46前的#號去掉,以下圖

在最後加上
include conf.d/*.conf;

測試nginx瀏覽器

開啓nginx
/usr/local/nginx/sbin/nginx
打開瀏覽器
輸入服務器ip地址:8080
出現下圖,安裝成功

添加環境變量(能夠省略)服務器

vi /etc/profile
export PATH=$PATH:/usr/local/nginx/sbin
source /etc/profile

nginx開機啓動

cd /lib/systemd/system/
touch nginx.service

輸入以下代碼:
# nginx service for systemd (CentOS 7.0+)
[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 stop
PrivateTmp=false

[Install]
WantedBy=multi-user.target

保存退出
刷新服務配置 systemctl daemon-reload
嘗試啓動服務 systemctl stop nginx.service
           systemctl start nginx.service
           systemctl restart nginx.service         
加入開機啓動 systemctl enable nginx.service
配置完成

備註1:PrivateTmp的值設置成true,服務啓動時會在/var/tmp/nginx/client/
目錄下生成相似systemd-private-433ef27ba3d46d8aac286aeb1390e1b-
nginx.service-RedVyu/的文件夾,用於存放nginx的臨時文件,可是我在測試的時
候,執行systemctl start nginx.service命令時會報下圖錯誤:

可是執行nginx就正常啓動,
執行nginx -t查看配置文件也沒有問題,
我懷疑是用戶權限致使的問題,這個問題我會後續查看,爲了保險起見這裏設定爲false不影響使用

備註2:注意下
nginx,
/usr/local/nginx/sbin/nginx,
systemctl xxxx nginx.service
三者之間的關係,systemctl命令沒法操做nginx命令開啓的nginx服務,反之能夠

nginx安裝總結

安裝包存放點:/usr/local/src/
nginx配置文件:/usr/local/nginx/nginx.conf
項目配置目錄:/usr/local/nginx/conf.d/
nginx日誌目錄:/usr/local/nginx/logs/
nginxpid文件:/usr/local/nginx/nginx.pid
nginx啓動文件:/usr/local/nginx/sbin/nginx

啓動nginx
nginx(配置完環境變量可以使用)
/usr/local/nginx/sbin/nginx

中止nginx
nginx -s stop(配置完環境變量可以使用)
/usr/local/nginx/sbin/ngin -s stop

重啓nginx
nginx -s reload(配置完環境變量可以使用)
/usr/local/nginx/sbin/nginx -s reload

systemctl相關命令
開啓nginx服務 systemctl start nginx.service
中止nginx服務 systemctl stop nginx.service
重啓nginx服務 systemctl restart nginx.service
查看nginx服務 systemctl status nginx.service
加入開機自啓 systemctl enable nginx.service
退出開機自啓 systemctl disable nginx.service
刷新服務配置 systemctl daemon-reload
查看已開啓服務 systemctl list-unit --type=service

其餘文章:
第二章:php安裝
第三章:mysql安裝和postgresql安裝
第四章:python環境配置

相關連接:
CentOS 7 systemd添加自定義系統服務

相關文章
相關標籤/搜索