华为云主机CentOS 7.3安装LNMP

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

准备工作

1
2
3
4
5
6
7
cd /usr/local/src
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz 
wget http://nginx.org/download/nginx-1.12.1.tar.gz 
tar zxf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
tar zxf php-5.6.30.tar.gz
tar zxf nginx-1.12.1.tar.gz

软件安装

MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
cd ../mysql/
useradd mysql
mkdir /data/
yum install -y perl perl-Data-Dumper libaio libaio-devel
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
cp support-files/my-default.cnf /etc/my.cnf  
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
     basedir=/usr/local/mysql
     datadir=/data/mysql
chkconfig --add mysqld
service mysqld start

PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
useradd -s /sbin/nologin php-fpm
cd /usr/local/src/php-5.6.30
wget http://vault.centos.org/5.7/os/x86_64/CentOS/kernel-headers-2.6.18-274.el5.x86_64.rpm 
rpm -ivh kernel-headers-2.6.18-274.el5.x86_64.rpm
yum install -y gcc libxml2-devel openssl-devel bzip2-devel libjpeg-turbo-devel libpng-devel freetype-devel libmcrypt-devel libcurl-devel
./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl  --with-openssl
make && make install
cp php.ini-production /usr/local/php-fpm/etc/php.ini
cp /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
vi /usr/local/php-fpm/etc/php-fpm.conf
     [global]
     pid = /usr/local/php-fpm/var/run/php-fpm.pid
     error_log = /usr/local/php-fpm/var/log/php-fpm.log
     [www]
     listen = /tmp/php-fcgi.sock
     listen.mode = 666
     user = php-fpm
     group = php-fpm
     pm = dynamic
     pm.max_children = 50
     pm.start_servers = 20
     pm.min_spare_servers = 5
     pm.max_spare_servers = 35
     pm.max_requests = 500
     rlimit_files = 1024
chmod 755 /etc/init.d/php-fpm 
chkconfig --add php-fpm
chkconfig php-fpm on
service php-fpm start

Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
cd /usr/local/src/nginx-1.12.1
./configure --prefix=/usr/local/nginx
make && make install
vi /etc/init.d/nginx 
     #!/bin/bash
     # chkconfig: - 30 21
     # description: http service.
     # Source Function Library
     . /etc/init.d/functions
     # Nginx Settings
     NGINX_SBIN="/usr/local/nginx/sbin/nginx"
     NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
     NGINX_PID="/usr/local/nginx/logs/nginx.pid"
     RETVAL=0
     prog="Nginx"
     start() 
     {
         echo -n $"Starting $prog: "
         mkdir -p /dev/shm/nginx_temp
         daemon $NGINX_SBIN -c $NGINX_CONF
         RETVAL=$?
         echo
         return $RETVAL
     }
     stop() 
     {
         echo -n $"Stopping $prog: "
         killproc -p $NGINX_PID $NGINX_SBIN -TERM
         rm -rf /dev/shm/nginx_temp
         RETVAL=$?
         echo
         return $RETVAL
     }
     reload()
     {
         echo -n $"Reloading $prog: "
         killproc -p $NGINX_PID $NGINX_SBIN -HUP
         RETVAL=$?
         echo
         return $RETVAL
     }
     restart()
     {
         stop
         start
     }
     configtest()
     {
         $NGINX_SBIN -c $NGINX_CONF -t
         return 0
     }
     case "$1" in
       start)
             start
             ;;
       stop)
             stop
             ;;
       reload)
             reload
             ;;
       restart)
             restart
             ;;
       configtest)
             configtest
             ;;
       *)
             echo $"Usage: $0 {start|stop|reload|restart|configtest}"
             RETVAL=1
     esac
     exit $RETVAL
chmod 755 /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on
cd /usr/local/nginx/conf/; mv nginx.conf nginx.conf.bak
vi nginx.conf
     user nobody nobody;
     worker_processes 2;
     error_log /usr/local/nginx/logs/nginx_error.log crit;
     pid /usr/local/nginx/logs/nginx.pid;
     worker_rlimit_nofile 51200;
     events
     {
         use epoll;
         worker_connections 6000;
     }
     http
     {
         include mime.types;
         default_type application/octet-stream;
         server_names_hash_bucket_size 3526;
         server_names_hash_max_size 4096;
         log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
         ' $host "$request_uri" $status'
         ' "$http_referer" "$http_user_agent"';
         sendfile on;
         tcp_nopush on;
         keepalive_timeout 30;
         client_header_timeout 3m;
         client_body_timeout 3m;
         send_timeout 3m;
         connection_pool_size 256;
         client_header_buffer_size 1k;
         large_client_header_buffers 8 4k;
         request_pool_size 4k;
         output_buffers 4 32k;
         postpone_output 1460;
         client_max_body_size 10m;
         client_body_buffer_size 256k;
         client_body_temp_path /usr/local/nginx/client_body_temp;
         proxy_temp_path /usr/local/nginx/proxy_temp;
         fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
         fastcgi_intercept_errors on;
         tcp_nodelay on;
         gzip on;
         gzip_min_length 1k;
         gzip_buffers 4 8k;
         gzip_comp_level 5;
         gzip_http_version 1.1;
         gzip_types text/plain application/x-javascript text/css text/htm 
         application/xml;
         server
         {
             listen 80;
             server_name localhost;
             index index.html index.htm index.php;
             root /usr/local/nginx/html;
             location ~ \.php$ 
             {
                 include fastcgi_params;
                 fastcgi_pass unix:/tmp/php-fcgi.sock;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
             }    
         }
     }
/etc/init.d/nginx start

效果测试

1
2
3
4
vi /usr/local/nginx/html/1.php
     <?php
       echo "test";
     ?>

wKioL1mYUMXSr5zEAABkjpr6L3o930.png-wh_50
















本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1957718,如需转载请自行联系原作者


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
101
分享
相关文章
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
### 安装VMtools的作用及步骤 安装VMtools可以实现Windows与CentOS之间的字符串和命令粘贴、文件夹共享等操作。在CentOS中,通过VMware菜单栏选择“VMware Tools”,将下载的压缩包拷贝到`/opt`目录并解压。接着进入终端,使用`./vmware-install.pl`命令完成安装。安装后重启系统,即可实现Windows与CentOS之间的字符和文件共享。具体步骤包括解压文件、启动命令行终端、安装VMtools以及配置文件共享。
81 16
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
122 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
如何从CentOS7升级到8?CentOS8最新安装教程
从CentOS 7升级到8只需三步:清理系统、更换软件包及存储库、安装新内核与发布版本。首先确保系统最新并清理冗余包,接着替换基础系统包为CentOS 8版本,最后通过DNF工具完成内核更新与系统同步。整个过程需在终端执行,建议升级前备份VPS快照以防数据丢失。此方法可避免重装系统导致的数据清除问题,实现平滑升级。
68 6
CentOS 8下SSH连接超时与“无法加载主机密钥”错误的排查与修复
在CentOS 8系统中,宝塔面板提示“出错了,面板运行时发生错误”,导致插件无法正常显示。同时,SSH连接超时,修复面板功能失效。通过VNC连接排查,发现SSH服务安装和配置问题频发,最终通过重装SSH、调整权限并重新生成主机密钥文件解决问题,成功恢复SSH连接。
137 16
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
193 25
|
2月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
95 20
Centos7.9安装kerberos
Centos7.9安装kerberos
113 25
Centos7.9安装openldap
Centos7.9安装openldap
85 16