LNMP环境搭建(centOS 7.6 +Nginx 1.17+ Mysql8.0 + PHP7.4)

最近想弄个腾讯云来玩玩linux 毕竟便宜嘛 (99 块一年 是centOS7.6系统的)

实操之前先弄个虚拟机嘛, 也是centOS7.6.

linux 下 建议重大操作之前先建立 快照  防止数据出错 可以回滚系统

安装之前先看看三个必备的包有没有装 一个是wget 一个是gcc 还有一个是make

查看是否已安装wget: rpm 虽然是 Red-Hat Package Manager 红帽子的东西,但是也成了行业的标准 几乎所有linux都配备了rpm 作为底层的包 如 yum 一样
rpm -qa wget

没有的话 就

yum -y install wget    -y 的意思是安装过程默认同意, 没有 -y 就需要输入y 去多确认一次

输入 rpm -qa wget 查看是否已经有安装成功了.

同理 rpm -qa gcc 

yum -y install gcc gcc-gcc++

npm -qa make

yum -y install  gcc automake autoconf libtool make

安装完毕了, 这里新建一个快照1.0版本, 因为下面的 安装有可能会出错 , 做个备份随时回滚.

 

一 安装 nginx  

cd /usr/local/src

一般来说 安装文件在 /usr/local 目录下 下载的资源包放在 /usr/local/src 下

安装nginx依赖包

nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法:

yum -y install pcre pcre-devel

nginx的各种模块中需要使用gzip压缩:

yum -y install zlib zlib-devel

安全套接字层密码库:

yum -y install openssl openssl-devel

wget http://nginx.org/download/nginx-1.17.0.tar.gz​

解压 

tar -xvzf nginx-1.17.0.tar.gz​

进入nginx 文件 

cd nginx-1.17.0/

检查环境

./configure --prefix=/usr/local/nginx

make && make install

创建并设置nginx运行账号:

groupadd nginx

useradd -M -g nginx -s /sbin/nologin nginx

cd /usr/local/nginx/conf

vim nginx.conf,按i 进行编辑 ,设置user参数如下:

user nginx nginx 按 esc 输入: wq 保存并退出

设置nginx为系统服务

vim /lib/systemd/system/nginx.service

文件内容:

[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=true

[Install]

WantedBy=multi-user.target

设置nginx开机自启动

systemctl enable nginx.service

开启nginx服务:

systemctl start nginx.service

查看nginx是否启动成功:

ps aux | grep nginx

在虚拟机浏览器中访问测试:

http://localhost

ip addr 或者 ifconfig 查看虚拟机的ip地址

外部访问不了虚拟机的情况 防火墙没有放开80端口 

关闭防火墙  systemctl stop firewalld.service

或者 

查看所有开启的端口
firewall-cmd --list-ports

注:启动防火墙后,默认没有开启任何端口,需要手动开启端口

防火墙开启端口访问
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:  --zone #作用域    --add-port=80/tcp #添加端口,格式为:端口/通讯协议    --permanent #永久生效,没有此参数重启后失效

 

二 . 安装Mysql

卸载已有mysql

查看是否已安装mysql:

rpm -qa mysql

有则卸载:

rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

查看是否存在mariadb:

rpm -qa | grep mariadb

存在则卸载:

rpm -e mariadb

find / -name mysql  把出现的目录全部删除 

配置mysql8.0安装源

rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

安装mysql

yum -y --enablerepo=mysql80-community install mysql-community-server

看到complet(完毕)就是安装完啦, 接下来就是准备启动mysql服务

先把3306 的端口 也放开一下,方便外边的软件链接 firewall-cmd --zone=public --add-port=3306/tcp --permanent  然后重启防火墙 firewall-cmd --reload

启动mysql服务  service mysqld start  显示   Redirecting to /bin/systemctl status mysqld.service  可以看到mysql已经在运行中了

安装完mysql之后,会生成一个临时的密码让root用户登录

grep "A temporary password" /var/log/mysqld.log

登陆mysql   mysql -uroot -p xxxxxx

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';

update user set host='%' where user='root';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345';

三 安装PHP

安装php依赖包

yum -y install libxml2 libxml2-devel sqlite-devel libcurl libcurl-devel libicu-devel

 

cd /usr/local/src

wget http://cn2.php.net/distributions/php-7.4.4.tar.gz

tar -zxvf php-7.4.4.tar.gz

cd php-7.4.4

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-pdo --with-iconv-dir --enable-gd --with-freetype --with-jpeg --with--webp --with-libxml --enable-xml --enable-session --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --enable-ftp --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --enable-maintainer-zts --with-xsl --enable-tokenizer

make && make install

把PHP配置文件拷贝到安装目录下

cp /usr/local/src/php-7.4.4/php.ini-development /usr/local/php/php.ini

另外在PHP安装目录内把两个配置文件拷贝

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

配置php.ini “cgi.fix_pathinfo=0”

启动php-fpm服务:

/usr/local/php/sbin/php-fpm

netstat -tln | grep 9000 查看9000端口是否已经生效

创建并设置php-fpm运行账号

groupadd www-data

useradd -M -g www-data -s /sbin/nologin www-data

vim www.conf

搜索“user”设置运行账号:

user=www-data

group=www-data

设置php-fpm为系统服务:

vim /etc/systemd/system/php-fpm.service

文件内容:

 

[Unit]

Description=php-fpm

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/php/sbin/php-fpm

PrivateTmp=True

[Install]

WantedBy=multi-user.target

 

设置php-fpm服务开机自启动:

systemctl enable php-fpm.service

启动php-fpm:

systemctl start php-fpm.service

 

编辑nginx配置文件/usr/local/nginx/conf/nginx.conf  在location 加入 index.php

location ~ \.php(.*)$ {
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;

}

重启nginx 

 

posted on 2018-06-26 16:04  VitoriaMR  阅读(140)  评论(0编辑  收藏  举报

导航