SELinux
- 查看
getenforce
或/usr/sbin/sestatus -v
Enforcing
是启用,Disabled
是禁用
- 永久关闭
- 编辑文件
/etc/selinux/config
- 将
SELINUX=enforcing
改为SELINUX=disabled
- 重启
- 编辑文件
启用网络
- 查看网络连接:
ip addr
-
编辑文件
/etc/sysconfig/network-scripts/ifcfg-ens33
(ens33
是网络名称) -
把
ONBOOT=no
改为ONBOOT=yes
-
使用静态IP(可跳过)
- 修改
BOOTPROTO=dhcp
为BOOTPROTO=static
-
追加以下代码(使用自己的IP信息)
IPADDR=192.168.1.200 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=114.114.114.114 DNS2=8.8.8.8
- 修改
- 重启网络服务
systemctl restart network
防火墙
- 停止
sudo systemctl stop firewalld.service
- 禁用(谨慎)
sudo systemctl disable firewalld.service
EPEL 扩展包
sudo yum install -y epel-release
bash自动补全(可选)
sudo yum install -y bash-completion
安装 nginx
安装:
sudo yum install -y nginx
sudo systemctl enable nginx
注意:如果以上安装不能正常进行,可能需要先补源。新建 /etc/yum.repos.d/nginx.repo
文件,添加以下内容,再尝试上述命令。
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
安装PHP
sudo yum install -y yum-utils http://rpms.remirepo.net/enterprise/remi-release-7.rpm
// 以下任选一个
sudo yum-config-manager --enable remi-php70
sudo yum-config-manager --enable remi-php71
sudo yum-config-manager --enable remi-php72
sudo yum-config-manager --enable remi-php73
sudo yum install -y php php-fpm php-zip php-gd php-pdo php-pdo_mysql php-xml php-mbstring php-ctype php-json php-openssl
sudo systemctl enable php-fpm
安装PHP扩展
版本视实际情况调整
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum list php72w*
sudo yum install php72w-soap
配置环境
配置 php
- 打开
/etc/php.ini
- 修改
;cgi.fix_pathinfo=1
为cgi.fix_pathinfo=1
配置 php-fpm (可选)
在linux中,nginx 服务器和 php-fpm 可以通过 tcp socket 和 unix socket 两种方式实现。
unix socket 是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。这种方式需要再 nginx 配置文件中填写 php-fpm 的 pid 文件位置,效率要比 tcp socket 高。
tcp socket 的优点是可以跨服务器,当 nginx 和 php-fpm 不在同一台机器上时,只能使用这种方式。windows 系统只能使用 tcp socket 的通信方式。
php-fpm 默认使用 tpc socket ,以下是修改为 unix socket 方式的配置。
- 打开
/etc/php-fpm.d/www.conf
- 修改以下配置:
原配置
listen = 127.0.0.1:9000
修改为
listen = /var/run/php-fpm/php-fpm.sock
# sock文件放在 /dev/shm 目录下有助于性能提升,此目录位于内存中
原配置
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660
修改为
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
- 重载
systemctl restart php-fpm.service
配置 nginx
- 在
/etc/nginx/config.d/
目录下创建.conf
文件,例如host.conf
,参照该文档进行配置。
php-fpm 配置若不修改,
fastcgi_pass
参数应该使用127.0.0.1:9000;
。
判断访问权限
- 查看
nginx.conf
中user
- 将上一步的
user
值代替www-data
,然后执行:sudo -u www-data stat /test/path/static
- 确保
stat
能显示目录信息,如果出现权限不够
,需要先调整权限,保证第1步中的user
拥有权限
参考资料:
- https://nginx.org/en/linux_packages.html#RHEL-CentOS
- https://docs.lvrui.io/2017/04/01/nginx%E9%85%8D%E7%BD%AEhttp%E5%BC%BA%E5%88%B6%E8%B7%B3%E8%BD%AChttps/
- http://seanlook.com/2015/05/28/nginx-ssl/