美文网首页
centos 7.2 搭建LNMP环境

centos 7.2 搭建LNMP环境

作者: zhaoxiaohui520 | 来源:发表于2020-05-12 22:20 被阅读0次

一、nginx

1: 下载 http://nginx.org/en/download.html
选择 stable 版本下载

image.png

2: 解压
tar zxf nginx.xxxx.tar.gz


image.png

3: 配置
cd /usr/local/src/nginx里面
./configure --prefix=/usr/local/nginx
如果提示缺少 pcre 库,
则从 http://www.pcre.org/
假设解压在/usr/local/src/pcre-8.37
进入cd /usr/local/src/nginx 编译

image.png
make&& manke install
image.png

4.成功 安装在 usr/local/nginx


image.png

5.启动nginx
cd /usr/local/nginx
启动 ./sbin/nginx

image.png
  1. 启动时,极易出现端口被占的错误,如下


    image.png

7: 连接,从局域网内连接 nginx,
如果连接不能,先 ping 测试,2 台机器之间网络是否通,
再在服务器上 telnet localhost 80
如果 2 者都能,但外界连不上 80 端口,则是防火墙的原因.
service iptables stop
再次连接,出现以下界面,则安装成功


image.png

二、php

1.编译安装 PHP
先安装扩展 yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng
libpng-devel

2.wget 下载php 到目录 /usr/local/src/


image.png

2.1 解压 tar jxvf php-7.0.6.tar.bz2
2.2 cd php-7.0.6

image.png

2.3编译
解压,cd 到 php-5.x

编译
./configure --prefix=/usr/local/php \
--with-gd \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--enable-fpm
安装
make && make install
image.png

3.运行php

image.png
3.1出错 缺失文件
image.png
image.png

3.2 运行步骤

cd /usr/local/php
拷贝文件
cp etc/php-fpm.conf.default etc/php-fpm.conf
源码文件 拷贝php.ini
cp /usr/local/src/php-5.5.13/php.ini-development ./lib/php.ini
./sbin/php-fpm
image.png

三、整合 nginx 和 PHP

cd /usr/local/nginx 到安装目录下
cd conf/
vim nginx.conf 打开这个文件


image.png
image.png
image.png

让 nginx 的最新配置文件生效

./sbin/nginx -s reload 重启

再次请求 xx.php,看到如下类似效果,即整合成功


image.png
image.png

四、CentOS7安装mysql5.5

4.1、检查本地是否安装过其他版本的mysql

rpm -qa|grep -i  mysql
image.png

由于有些版本自带的有mariadb,检查是否有mariadb,若是有需要先卸载

yum -y remove maria*
image.png

4.2、下载mysql 5.5的服务器和客户端的安装包

下载服务器包:wget https://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.59-1.el7.x86_64.rpm

下载客户端包:wget https://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.59-1.el7.x86_64.rpm

若提示:-bash: wget: 未找到命令,则表明没有安装wget,执行安装命令:yum -y install wget

4.3、安装服务器和客户端

rpm -ivh --nodeps MySQL-server-5.5.59-1.el7.x86_64.rpm

rpm -ivh --nodeps MySQL-client-5.5.59-1.el7.x86_64.rpm

# --nodeps就是安装时不检查依赖关系,比如A.rpm需要B.rpm,但是没装B,这样就装不上,用了--nodeps就能装上了。

查看安装的mysql是否已安装成功 :rpm -qa|grep -i mysql


image.png

4.4、启动mysql并设置mysql服务开机自启动

启动mysql:service mysql start

设置开机自启动:systemctl enable mysql 

验证自启动是否成功:chkconfig --list|grep mysql
image.png

3,4,5都是开则说明设置成功

4.5、登录mysql并设置密码

mysql -uroot

set password=password('root');
image.png

4.6、开启mysql的远程登录

grant all privileges on *.* to 'root'@'%' identified by 'root';  #权限放大到任何一台机器都可以远程登录

flush privileges;
image.png
关闭防火墙:systemctl stop firewalld
设置开机禁用防火墙:systemctl disable firewalld.service
image.png

systemctl和防火墙firewalld命令 见下图

一、防火墙的开启、关闭、禁用命令
 
(1)设置开机启用防火墙:systemctl enable firewalld.service
 
(2)设置开机禁用防火墙:systemctl disable firewalld.service
 
(3)启动防火墙:systemctl start firewalld
 
(4)关闭防火墙:systemctl stop firewalld
 
(5)检查防火墙状态:systemctl status firewalld 
 
二、使用firewall-cmd配置端口
 
(1)查看防火墙状态:firewall-cmd --state
 
(2)重新加载配置:firewall-cmd --reload
 
(3)查看开放的端口:firewall-cmd --list-ports
 
(4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
 
  命令含义:
 
  –zone #作用域
 
  –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
 
  –permanent #永久生效,没有此参数重启后失效
 
  注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
 
(5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent

五、thinkphp5.1官网推荐配置

按照官网要求做的全部配置代码: 
server { 
    listen   80 ; 
    server_name  www.d5.com; 
    root /var/www/tptest/public; 
    index index.php index.html ; 
    location / { 
       if (!-e $request_filename) { 
           rewrite  ^(.*)$  /index.php?s=/$1  last; 
       } 
    } 
    location ~ \.php { 
        include fastcgi_params; 
        fastcgi_pass   127.0.0.1:9000; 
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
        fastcgi_param  PATH_INFO  $fastcgi_path_info; 
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info; 
    } 
} 

六、上传thinkphp项目到Nginx下访问报错解决

问题:
file_put_contents(/usr/local/nginx/html/zh/runtime/temp/46fbd9967d0da6b1fa7264089cc6c118.php): failed to open stream: Permission denied


image.png

tp5.1通过WinSCP上传到服务器时访问报错
原因是文件上传时权限被修改了
直接到项目文件夹下给Nginx授予文件执行权限

cd /usr/local/nginx/html/
setfacl -m u:nginx:rwx -R ../html
//或者 chown -R 777

七、Centos 文件权限修改

1.查看权限

ls -l dirPath

2.修改权限,root权限执行(-R 子目录的权限都会改变)

chmod -R 777 dirPath

相关文章

网友评论

      本文标题:centos 7.2 搭建LNMP环境

      本文链接:https://www.haomeiwen.com/subject/iaginhtx.html