第一章:环境配置和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
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