前提備註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