您的位置:首页 > 运维架构 > Nginx

LNMP环境搭建 Centos7+Nginx 1.6.2+Mysql 8 +PHP 7.3.8 新手上路 超详细(2019年8月上新)

2020-02-17 07:46 253 查看

前言:
本文章适合新手使用
如发现问题可以跟我一起交流
QQ:346886407
邮箱 13883586973@163.com
不喜勿喷 哈哈
希望大家可以一起进步
基础语法

rpm -qa * #检查是否安装某个软件
yum -y install * #yum安装软件 安装的软件必须在yum源里面否则无法安装 -y全部确认
tar -zxvf *.tar.gz #解压gz包  z:解压*.gz文件 x:从压缩的文件中提取文件 v:显示执行过程 f:选择文件 tar参考 https://www.cnblogs.com/ftl1012/p/9255795.html
groupadd -r * #命令用于将新组加入系统-r:加入组ID号,低于499系统账号。
rpm -Uvh *  #更新升级yum包
yum repolist all | grep mysql #查看可用的mysql版本以及禁用/启用情况
Vi /etc/yum.repos.d/mysql-community.repo #把里面的要用到的enabled改为1就可以了,其他的版本改为0 修改版本
ifconfig #查看内网ip
curl ifconfig.me #查看公网ip

总体步骤(Nginx 1.6.2+Mysql 8 +PHP 7.3.8)

1.安装Nginx(源码安装)

1.1安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

1.2 安装依赖

方法一(yum安装)

yum  -y  install  pcre-devel ##nginx的rewrite伪静态匹配规则用到正则,pcre就用来干这个

方法二(源码安装)

[root@renchao /]# cd /usr/local/src/
[root@renchao src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
[root@renchao src]# tar -zxvf pcre-8.35.tar.gz
[root@renchao src]# cd pcre-8.35
[root@renchao pcre-8.35]# ./configure
[root@renchao pcre-8.35]# make && make install
[root@renchao pcre-8.35]# pcre-config --version
8.35 ##能看到这个证明安装成功

1.3下载及安装Nginx

[root@renchao src]# cd /usr/local/src/
[root@renchao src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz
[root@renchao src]# tar -zxvf nginx-1.6.2.tar.gz
[root@renchao src]# cd nginx-1.6.2
[root@renchao src]# ./configure  &&  make  &&  make  install
[root@renchao src]# useradd  -s  /sbin/nologin  -M  nginx ##创建Nginx用户

1.4修改配置文件

vim /usr/local/nginx/conf/nginx.conf

user nginx;
worker_processes  1;
events {
worker_connections  1024;
}
http {
include       mime.types;
default_type  application/octet-stream;
sendfile        on;
keepalive_timeout  65;
client_max_body_size 8M;
client_body_buffer_size 128k;
server {
listen       80;
server_name  localhost;
gzip on;
gzip_min_length 1k;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log   off;
expires      1h;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log   off;
expires      1h;
}
location ~* ^.+\.(html|htm)$ {
expires      1h;
}
location ~* ^.+\.(eot|ttf|otf|woff|svg)$ {
access_log   off;
expires max;
}
location / {
add_header 'Access-Control-Allow-Origin' '*';
autoindex on;
autoindex_localtime on;
root   html;
index  index.html index.htm;
if (!-f $request_filename) {
rewrite /(.*)$ /index.php/$1;
}
if (!-d $request_filename) {
rewrite /(.*)$ /index.php/$1;
}
}
location ~ \.php(.*)$ {
root html;
fastcgi_pass    127.0.0.1:9000;
fastcgi_index   index.php;
fastcgi_param PATH_INFO $1;
fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/$fastcgi_script_name;
fastcgi_param  PHP_VALUE  "open_basedir=$document_root";
include        fastcgi_params;
}
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}
}
}

1.5测试Nginx

vim /usr/local/nginx/html/index.html

Hello!!人潮

通过ip地址访问(在启动Nginx之后)

1.6Nginx操作命令

/usr/local/nginx/sbin/
4000
nginx   ##启动Nginx
/usr/local/nginx/sbin/nginx -s stop ##停止
/usr/local/nginx/sbin/nginx -s  reload ##重启

1.7添加环境变量

echo  'export  PATH=$PATH:/usr/local/nginx/sbin/'  >>  /etc/profile
.  /etc/profile

1.8加入系统应用

vim /etc/init.d/nginx

#!/bin/bash
function start()
{
/usr/local/nginx/sbin/nginx
}
function stop()
{
/usr/local/nginx/sbin/nginx  -s  stop
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage : start | stop | restart"
;;
esac

1.9授权

chmod  +x  /etc/init.d/nginx ##给予执行权限
systemctl  daemon-reload  ##重新加载服务(我的理解)

最后 开启Nginx,访问ip就就可以看到(若是虚拟机直接ifconfig可以看到ip,云服务器 curl ifconfig.me 可以看到IP地址)

2.安装mysql(yum安装)

2.1更新yum库

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2.1.1查看可用的mysql版本以及禁用/启用情况

[root@renchao /]# yum repolist all | grep mysql

mysql-connectors-community/x86_64 MySQL Connectors Community     enabled:    118
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64      MySQL Tools Community          enabled:     95
mysql-tools-community-source      MySQL Tools Community - Source disable
mysql-tools-preview/x86_64        MySQL Tools Preview            disabled
mysql-tools-preview-source        MySQL Tools Preview - Source   disabled
mysql55-community/x86_64          MySQL 5.5 Community Server     disabled
mysql55-community-source          MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64          MySQL 5.6 Community Server     disabled
mysql56-community-source          MySQL 5.6 Community Server - S disabled
mysql57-community/x86_64          MySQL 5.7 Community Server     disabled
mysql57-community-source          MySQL 5.7 Community Server - S disabled
mysql80-community/x86_64          MySQL 8.0 Community Server     enabled:    129
mysql80-community-source          MySQL 8.0 Community Server - S disabled

2.1.2开启你要安装的版本

修改源文件,禁用5.7,启用8.0

vim /etc/yum.repos.d/mysql-community.repo**

把里面的8.0 enabled改为1就可以了,其他的版本改为0

2.1.3修改完之后查看可用版本

yum repolist enabled | grep mysql (显示8.0即为成功)

2.2yum安装mysql

yum install -y mysql-community-server

2.3mysql命令

systemctl start mysqld ##启动mysql
###开机启动设置(下面两部)
systemctl enable mysqld
systemctl daemon-reload
grep 'temporary password' /var/log/mysqld.log ##查看mysql初始随机密码
mysql -uroot -p #登录mysql,复制密码输入

2.4修改密码(mysql里面)

##改变mysql密码设置
mysql> set global validate_password.policy=0; #修改密码复杂度,默认为1,较为复杂
mysql> set global validate_password.length=1;
##修改root密码
mysql> ALTER USER 'root'@'localhost'' IDENTIFIED BY 'password';

2.5添加用户以及授权

mysql> CREATE  USER `mysql`@`%`  IDENTIFIED  BY  'password';##添加用户
mysql> GRANT  ALL  ON *.*  TO  `mysql`@`%`  WITH  GRANT  OPTION; ##用户授权
mysql> flush  privileges; ##刷新权限
mysql> SET  GLOBAL innodb_fast_shutdown  =  1; ##允许远程连接
mysql> show databases; ##测试

3.安装php

3.1下载php

[root@renchao /]# cd /usr/local/src
[root@renchao src]# wget https://www.php.net/distributions/php-7.3.8.tar.gz
[root@renchao src]# tar -zxvf php-7.3.8.tar.gz

3.2编译

[root@renchao src]# cd php-7.3.8
[root@renchao php-7.3.8]# ./configure  \
--prefix=/usr/local/php   \
--with-config-file-path=/usr/local/php/etc  \
--enable-fpm  \
--with-fpm-user=nginx  \
--with-fpm-group=nginx  \
--enable-mysqlnd  \
--with-mysqli=mysqlnd  \
--with-pdo-mysql=mysqlnd  \
--with-iconv-dir  \
--with-freetype-dir=/usr/local/freetype  \
--with-jpeg-dir  \
--with-png-dir  \
--with-zlib  \
--with-libxml-dir=/usr  \
--enable-xml  \
--disable-rpath  \
--enable-bcmath  \
--enable-shmop  \
--enable-sysvsem  \
--enable-inline-optimization  \
--with-curl  \
--enable-mbregex  \
--enable-mbstring  \
--enable-intl  \
--enable-pcntl  \
--enable-ftp  \
--with-gd  \
--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

3.2.1 可能会出现的问题

error: Please reinstall the libzip distribution

error: off_t undefined; check your library configuration

3.2.2 问题一解决方法(参考:https://blog.csdn.net/qq_39034363/article/details/90547741)

yum -y remove libzip ##删除之前安装的libzip
##从新安装
[root@renchao src]# wget https://libzip.org/download/libzip-1.5.1.tar.gz
[root@renchao src]# tar -zxvf libzip-1.5.1.tar.gz
[root@renchao src]# cd libzip-1.5.1
[root@renchao libzip-1.5.1]# mkdir build
[root@renchao libzip-1.5.1]# cd build
[root@renchao build]# cmake ..  ##可能你没有安装cmake 或者yum安装了 提示版本低 解决方法见下
[root@renchao build]# make && make install

3.2.2.1 cmake的解决方法

[root@renchao src]# wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
[root@renchao src]# tar -xvf cmake-3.9.2.tar.gz
[root@renchao src]# cd cmake-3.9.2
[root@renchao cmake-3.9.2]# ./configure
[root@renchao cmake-3.9.2]# make && make install
[root@renchao cmake-3.9.2]# hash -r
[root@renchao cmake-3.9.2]# cmake --version

3.2.3问题二解决方法(参考:https://www.jianshu.com/p/f73cc37b1053)

vim /etc/ld.so.conf

#加入内容
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64

ldconfig -v #生效

3.2.4解决了问题之后重新编译 (见3.2)

3.3安装

[root@renchao php-7.3.8]# make && make install

3.4配置

3.4.1 添加php-fpm到系统启动目录

cp  sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
chmod  +x  /etc/init.d/php-fpm
systemctl  daemon-reload

3.1.2创建配置文件

vim /usr/local/php/etc/php-fpm.conf

[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
[nginx]
listen = 127.0.0.1:9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = nginx
group = nginx
pm = dynamic
pm.max_children = 20
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log

3.1.3操作命令

##启动:
systemctl  start  php-fpm
##停止:
systemctl  stop  php-fpm
##重启:
systemctl  restart  php-fpm
##开机启动:
chkconfig  php-fpm  on
##添加环境变量
echo  'export  PATH=$PATH:/usr/local/php/bin/'  >>  /etc/profile
.  /etc/profile

相关扩展

groupadd扩展

1.作用

groupadd命令用于将新组加入系统。

2.格式

groupadd -g gid] -r groupname

3.主要参数

-g gid:指定组ID号。

-o:允许组ID号,不必惟一。

-r:加入组ID号,低于499系统账号。

-f:加入已经有的组时,发展程序退出。

4.应用实例

建立一个新组,并设置组ID加入系统:

#groupadd -g 123 www

此时在/etc/passwd文件中产生一个组ID(GID)是123的项目。

useradd扩展

参考:https://blog.csdn.net/davil_dev/article/details/6942128

参考(如有侵权请联系删除)

总体参考 https://blog.51cto.com/12173069/2177926

Nginx安装参考 https://www.runoob.com/linux/nginx-install-setup.html

mysql安装参考 https://blog.csdn.net/qq_43317529/article/details/83039252

  • 点赞
  • 收藏
  • 分享
  • 文章举报
人潮max 发布了2 篇原创文章 · 获赞 0 · 访问量 38 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: