系统:Centos7.4
一台服务器安装nginx、php、mysql
原理不是很懂,但实测如下两种环境下都能成功,这里做下记录:
1、一个干净的系统,从0开始完成所有步骤,完成LNMP搭建
2、已经装了mysql,之后再装nginx、php,完成LNMP搭建(安装php编译时要注意指定mysql的安装路径等信息)
注意:安装前一定检查是否装有mariadb数据库(系统安装时选择某项安装会集成安装上的),若有请卸载,不然后面初始化mysql时会报错,百度了很久都没找原因,都说是权限问题,后来在重复搞整时看到有关于mariabd的打印,猜测是这个原因,卸载mariadb问题解决。
Can't create/write to file '/data/mysql/xx.pid' (Errcode: 13)
步骤如下:
一、源码ginx安装
1、安装nginx需要的环境依赖库、工具等
yum -y install pcre pcre-devel openssl-devel openssh wget
2、下载nginx安装包至/usr/local/src下
wget -c -P /usr/local/src http://mirrors.yangxingzhen.com/nginx/nginx-1.13.4.tar.gz
3、安装编译器
yum -y install gcc gcc-c++
4、编译安装nginx
cd /usr/local/src
tar zxf nginx-1.13.4.tar.gz
cd /src/nginx-1.13.4
#编译前可以根据企业实际需要选择是否隐藏nginx版本等信息
sed -i -e 's/1.13.4/123/g' -e 's/nginx\//abc/g' -e 's/"NGINX"/"abc"/g' ./src/core/nginx.h
#预编译(根据实际需求添加相应模块)
./configure --user=www --group=www --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
#编译、安装(-j8表示同时用8核CPU进行编译)
make -j8 && make install
5、创建nginx启动用户,默认用户为www,不授予登陆权限
useradd -s /sbin/nologin www
6、启动nginx并测试是否能正常访问
#检测配置文件是否正确
/usr/local/nginx/sbin/nginx -t
#启动nginx
/usr/local/nginx/sbin/nginx
7、根据具体需求对nginx.conf配置文件进行修改调整
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
#为方便查看配置文件,可将多余的注释和空行清空
grep -vE "^$|#" nginx.conf.default >nginx.conf
#修改配置
vim /usr/local/nginx/conf/nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include conf.d/*.conf; # 开启虚拟主机,将会去此目录下找配置文件,在找不到时才会往下进行 server { listen 80; server_name abc.c.com; lo