CentOS 7.2环境搭建实录(第一章:环境配置和nginx安装)

第一章:环境配置和Nginx安装

前提备注

为了学习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

服务器Centos

购买地址:
https://www.vultr.com/
2.5美元一个月划到180一年,1cpu,20GBSSD,512M内存,每月500G流量做为学习够用了
https://www.aliyun.com/chinaglobal/promotion/overseaall2017
也可以选择阿里海外版,比这个配置高一点,40G,1G内存,用完优惠券大概一年280左右

准备工作

关闭防火墙: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

安装Nginx

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用户用户组(可以省略,自己玩可以不用添加)

groupadd Nginx
useradd -r -g Nginx Nginx

编译Nginx

./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.conf

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添加自定义系统服务

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native