(VPS)Centos7 安装LNMP环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 就最近买了VPS,才有了这些文章.准备开始写博客了.环境我们采用比较流行的,相对百度老的资料,本文还是相对比较新的.也许希望大家给以后的小站支持.LNMP:CentOS7+PHP7+Nginx+MariaDB如果文章有错,请指出,方便修正!软件包...

就最近买了VPS,才有了这些文章.准备开始写博客了.环境我们采用比较流行的,相对百度老的资料,本文还是相对比较新的.也许希望大家给以后的小站支持.
LNMP:CentOS7+PHP7+Nginx+MariaDB
如果文章有错,请指出,方便修正!


软件包更新:

sudo yum update -y

epel,remi库登记

sudo yum -y install epel-release
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo rpm -ivh remi-release-7.rpm

vim,git安装

sudo yum install vim git

修改时间(我国外的VPS,所以改不改都无所谓)

sudo timedatectl set-timezone Asia/xxx

Nginx安装

sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum -y install nginx

Nginx的设置

/etc/nginx/conf.d/default.conf

server {
    listen       80;
    server_name  example.com;

    access_log  /var/log/nginx/laos.access.log;
    error_log  /var/log/nginx/laos.error.log warn;

    root   /vagrant/laos/webroot;
    index  index.html index.php;

    location / {
        try_files $uri $uri?$args $uri/ /index.php?$uri&$args /index.php?$args;
    }

    location ~ \.php$ {
        try_files      $uri =404;
        fastcgi_pass   unix:/var/run/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

目录位置:/etc/nginx/nginx.conf

user  nginx;
worker_processes  auto;
worker_rlimit_nofile 100000;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  2048;
    multi_accept on;
    use epoll;
}


http {
    server_tokens off;
    include       /etc/nginx/mime.types;
    default_type  text/html;
    charset UTF-8;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile       off;
    tcp_nopush     on;
    tcp_nodelay    on;


    keepalive_timeout 10;
    client_header_timeout 10;
    client_body_timeout 10;
    reset_timedout_connection on;
    send_timeout 10;

    limit_conn_zone $binary_remote_addr zone=addr:5m;
    limit_conn addr 100;

    gzip on;
    gzip_http_version 1.0;
    gzip_disable "msie6";
    gzip_proxied any;
    gzip_min_length 1024;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/json;
    open_file_cache off;

    client_max_body_size 20m;
    server_names_hash_bucket_size 64;
    include /etc/nginx/conf.d/*.conf;
}

Nginx起動

sudo systemctl start nginx
sudo systemctl enable nginx

PHP7安装(安装必要的包)

sudo yum --enablerepo=epel,remi,remi-php70w install php70w php70w-php-mcrypt php70w-php-mbstring php70w-php-fpm php70w-php-gd php70w-php-pecl-xdebug php70w-php-pecl-redis php70w-php-pecl-imagick-devel php70w-php-pecl-imagick php70wphp-mysqlnd php70w-php-intl php70w-php-bcmath php70w-php-pecl-zip php70w-php-xmlrpc php70w-php-xml  php70w-php-pecl-http php70w-php-pecl-http-devel php70w-php-opcache

Nginx通过路劲

cat /opt/remi/php70/enable
export PATH=/opt/remi/php70/root/usr/bin:/opt/remi/php70/root/usr/sbin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/remi/php70/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MANPATH=/opt/remi/php70/root/usr/share/man:${MANPATH}

~/.bashrc

export PATH=/opt/remi/php70/root/usr/bin:/opt/remi/php70/root/usr/sbin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/remi/php70/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MANPATH=/opt/remi/php70/root/usr/share/man:${MANPATH}

source ~/.bashrc

確認

/etc/opt/remi/php70/php-fpm.d/www.conf

user = nginx
group = nginx
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0666

php-fpm起動

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


[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/php-fpm.pid
ExecStart=/opt/remi/php70/root/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/opt/remi/php70/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID


[Install]
WantedBy=multi-user.target
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

为了能够是HTTP防火墙设置访问

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

MariaDB安装(从官方请从网站资料库)

/etc/yum.repos.d/mariadb.repo

# MariaDB 10.1 CentOS repository list - created 2017-01-16 10:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

MariaDB正式安装

sudo yum install MariaDB-server MariaDB-client MariaDB-devel 

设置

sudo mkdir /home/mysql
sudo chown mysql. /home/mysql

/etc/my.cnf.d/server.cnf

[mysqld]
character-set-server=utf8
plugin-load = handlersocket.so
log-bin=mysql-bin
expire_logs_days = 30
secure_file_priv=/home/mysql

起動

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

初回设定

mysql_secure_installation

连接

mysql -u root -p
CREATE SCHEMA `laos` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
66 4
|
3天前
|
Oracle 关系型数据库 MySQL
centos6安装mariadb失败及解决办法
centos6安装mariadb失败及解决办法
20 4
|
1天前
|
Docker 容器
CentOS7.3 安装 docker
CentOS7.3 安装 docker
10 0
|
2天前
|
Linux 网络安全
centOS7.3 安装启用 iptables 记录
centOS7.3 安装启用 iptables 记录
9 1
|
2天前
|
NoSQL Linux 网络安全
基于 centOS7 的 redis 安装
基于 centOS7 的 redis 安装
18 1
|
2天前
|
关系型数据库 MySQL Linux
CentOS7.9 安装 mysql-8.0.36 踩坑小记
CentOS7.9 安装 mysql-8.0.36排错指南
39 1
|
8天前
|
tengine Linux 应用服务中间件
CentOS 7 安装 Tengine
CentOS 7 安装 Tengine
|
10天前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
|
10天前
|
Ubuntu 应用服务中间件 Linux
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
|
11天前
|
关系型数据库 MySQL Linux
centos linux mysql 5.5脚本全自动源码包 编译安装
centos linux mysql 5.5脚本全自动源码包 编译安装