前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单机部署 LNMP

单机部署 LNMP

作者头像
萌海无涯
发布2021-03-16 10:31:49
8100
发布2021-03-16 10:31:49
举报
文章被收录于专栏:萌海无涯萌海无涯

``关闭SELinux

# 临时关闭selinux 
setenforce 0 
# 永久关闭selinux 
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

关闭防火墙

# 临时关闭防火墙:
systemctl stop firewalld 
# 永久关闭防火墙:
systemctl disable firewalld

1. 源码部署nginx

1.1 下载源码

# -c 是断点续传
wget -c http://nginx.org/download/nginx-1.18.0.tar.gz

1.2 安装依赖

yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
# centos 最小化安装推荐安装包
# 可装可不装,
yum -y install vim-enhanced tcpdump lrzsz tree telnet bash-completion net-tools wget bzip2 lsof tmux man-pages zip unzip nfs-utils gcc make gcc-c++ glibc glibc-devel pcre pcre-devel openssl  openssl-devel systemd-devel zlib-devel

1.3 预编译

# 解压缩
tar -zxvf nginx-1.18.0.tar.gz
# 切换工作目录 
cd nginx-1.18.0
# 预编译指定安装目录
./configure  --prefix=/usr/local/nginx

1.4 编译安装

make && make install

1.5 修改配置文件

# 修改启动用户
# 默认是nginx,不改这里改 php 配置文件也可以
user  nobody;
# 修改进程数,根据实际情况修改
worker_processes  auto;
# 开启 日志规则
http{
  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
   # 把vhost文件夹内的配置文件导入
   # 源码是没有
   include vhost/*.conf;
    
    server{
    .......
}
}

1.6 新增 vhost 文件夹,新建配置文件

# 建立虚拟主机文件夹
mkdir /usr/local/nginx/conf/vhost
# 建立网站目录文件夹
mkdir /usr/local/nginx/html/bbs
# 编辑虚拟主机配置文件
vim /usr/local/nginx/conf/vhost/bbs.mhwy.com.conf
# --------------- 下面是配置文件内容 ---------------
server {
    listen       80;
    server_name  bbs.mhwy.com;

    #charset utf-8;

    access_log  logs/bbs.access.log  main;

    location / {
        root   html/bbs/;
        index  index.html index.htm index.php;
    }
    location ~ \.php$ {
        root           html/bbs/;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

1.7 启动Nginx

# 创建链接文件
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
# 启动nginx
nginx

2. 源码部署php

php 版本根据需求自行选择

2.1 下载php

wget -c https://www.php.net/distributions/php-7.4.15.tar.gz

2.2 安装依赖

yum -y install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel

2.3 预编译

# 解压文件
tar jvxf php-7.4.15.tar.bz2
# 切换工作目录
cd php-7.4.15
# 预编译
./configure --prefix=/usr/local/php \
--enable-fpm \
--enable-debug \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--enable-mbstring \
--with-curl \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=/usr/local/php/etc \
--with-zlib-dir

2.4 编译安装

make && make install

2.5 修改配置文件

# 复制 php 配置文件到安装目录中
cp php.ini-development /usr/local/php/etc/php.ini
# 复制 php-fpm 配置文件到安装目录中
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# 复制启动脚本到系统启动目录
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# 启动脚本可执行权限
chmod +x /etc/init.d/php-fpm
# 修改 php-fpm 的用户为 nobody(选择性修改,源码默认就是 nobody )
# 如果上面 nginx 不修改这里就要修改为 nginx
vim /usr/local/php/etc/php-fpm.conf
user = nobody
group = nobody

2.6 启动php

# 启动php-fpm:
/etc/init.d/php-fpm start

3. 源码部署mysql

mysql 版本根据需求自行选择,我这里选择的是 mysql 5.5.62

3.1 下载mysql源码文件

wget -c http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.62.tar.gz

3.2 安装依赖

yum install gcc ncurses-devel libaio bison gcc-c++ git cmake ncurses-devel ncurses -y

3.3 预编译

# 解压文件
tar zxvf mysql-5.5.62.tar.gz
# 切换工作目录
cd mysql-5.5.62
# 开始预编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/usr/local/mysql55/ \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0

3.4 编译安装

make && make install

3.5 初始化&&修改配置文件

# 复制配置文件到安装目录
cp support-files/my-large.cnf /usr/local/mysql55/my.cnf
# 复制启动脚本到系统启动目录
cp support-files/mysql.server /etc/init.d/mysqld
# 设置启动脚本执行权限
chmod +x /etc/init.d/mysqld
# 创建数据存储目录
mkdir -p /data/mysql
# 添加 mysql 用户
useradd -rs /sbin/nologin mysql
# 修改启动数据目录的归属为 mysql 用户
chown -R mysql. /data/mysql
# 初始化 mysql 
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55

ps:如果初始化失败,先检查命令是否错误,其次查看下 /etc/my.cnf 文件是否存在,要是存在的话,给改成别的名字。

3.6 启动mysql

/etc/init.d/mysqld start

4.7 创建数据库

#
启动数据库服务:
/etc/init.d/mysqld start
# 进入数据库创建数据库,并授权:
create database wordpress charset utf8;

grant all on wordpress.* to "wordpress"@localhost identified by "123456";

flush privileges;

5. 上传网站代码

我这里演示的是 Wordpress

5.1 下载源码

wget -c https://cn.wordpress.org/latest-zh_CN.tar.gz

5.2 解压文件到指定目录

# 这里说下小技巧,如果不知道用 z 还是 j 那么就不指定,tar 会自动选择解压缩的方式
tar xf latest-zh_CN.tar.gz -C /usr/local/nginx/html

如果提示权限问题,对 html 目录设置属主为 nodoby ,简单粗暴不安全!

饿,后面懒得写了,就这样把!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌海无涯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 源码部署nginx
    • 1.1 下载源码
      • 1.2 安装依赖
        • 1.3 预编译
          • 1.4 编译安装
            • 1.5 修改配置文件
              • 1.6 新增 vhost 文件夹,新建配置文件
                • 1.7 启动Nginx
                • 2. 源码部署php
                  • 2.1 下载php
                    • 2.2 安装依赖
                      • 2.3 预编译
                        • 2.4 编译安装
                          • 2.5 修改配置文件
                            • 2.6 启动php
                            • 3. 源码部署mysql
                              • 3.1 下载mysql源码文件
                                • 3.2 安装依赖
                                  • 3.3 预编译
                                    • 3.4 编译安装
                                      • 3.5 初始化&&修改配置文件
                                        • 3.6 启动mysql
                                        • 4.7 创建数据库
                                        • 5. 上传网站代码
                                          • 5.1 下载源码
                                            • 5.2 解压文件到指定目录
                                            相关产品与服务
                                            云数据库 SQL Server
                                            腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                                            领券
                                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档