CentOS 6.6 环境下 编译安装LNMP

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


环境:  
    OS:     CentOS 6.6 
    IP: 172.16.66.100
    Nginx:  nginx-1.6.2
    PHP:     php-5.4.40
    Xcache: xcache-3.2.0
    Mysql:  mariadb-5.5.43

    


一、前期环境准备:

1、根据官方ISO 创建本地yum源
[root@1inux ~]# mkdir /mnt/cd 
[root@1inux ~]# mount /dev/cdrom /mnt/cd
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@1inux ~]# cd /etc/yum.repos.d/
[root@1inux yum.repos.d]# vim cd.repo 

1
2
3
4
5
[CD]
name=CentOS- $releasever  - Base
baseurl=file: ///mnt/cd
enable=1
gpgcheck=0


2、安装开发环境及必要的安装包

1
2
[root@1inux yum.repos.d]# yum -y groupinstall  "Development tools"  "Server Platform Development"
[root@1inux yum.repos.d]# yum -y install pcre-devel

二、安装Nginx 
1、创建用户 

1
2
[root@1inux ~]# groupadd -g 60 nginx
[root@1inux ~]# useradd -g 60 -u 60 -r -s /sbin/nologin nginx

2、创建编译安装时需要的目录
[root@1inux nginx-1.6.2]# mkdir -pv /var/tmp/nginx/{client,proxy,fastcgi,uwsgi,scgi}

3、编译安装nginx

1
2
3
[root@1inux tmp]# tar xf nginx-1.6.2.tar.gz 
[root@1inux tmp]# cd nginx-1.6.2
[root@1inux nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/ var /log/nginx/error.log --http-log-path=/ var /log/nginx/access.log --pid-path=/ var /run/nginx/nginx.pid --lock-path=/ var /lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --http-client-body-temp-path=/ var /tmp/nginx/client --http-proxy-temp-path=/ var /tmp/nginx/proxy --http-fastcgi-temp-path=/ var /tmp/nginx/fastcgi --http-uwsgi-temp-path=/ var /tmp/nginx/uwsgi --http-scgi-temp-path=/ var /tmp/nginx/scgi


4、为nginx提供SysV init脚本
[root@1inux nginx-1.6.2]# vim /etc/rc.d/init.d/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
#!/bin/sh
#
# nginx - this script starts  and  stops the nginx daemon
#
# chkconfig:   - 85 15 
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy  and  IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     / var /run/nginx.pid
  
# Source  function  library.
. /etc/rc.d/init.d/functions
  
# Source networking configuration.
. /etc/sysconfig/network
  
# Check that networking is up.
"$NETWORKING"  "no"  ] &&  exit  0
  
nginx= "/usr/local/nginx/sbin/nginx"
prog=$( basename  $nginx )
  
NGINX_CONF_FILE= "/etc/nginx/nginx.conf"
  
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
  
lockfile=/ var /lock/nginx.lock
  
make_dirs() {
    # make required directories
    user=`nginx -V 2>&1 | grep  "configure arguments:"  | sed  's/[^*]*--user=\([^ ]*\).*/\1/g'  -`
    options=` $nginx  -V 2>&1 | grep  'configure arguments:' `
    for  opt in  $options do
        if  [ ` echo  $opt  | grep  '.*-temp-path' ` ]; then
            value=` echo  $opt  | cut -d  "="  -f 2`
            if  [ ! -d  "$value"  ]; then
                echo  "creating"  $value
                mkdir  -p  $value  &&  chown  -R  $user  $value
            fi
        fi
    done
}
  
start() {
     [ -x  $nginx  ] ||  exit  5
     [ -f  $NGINX_CONF_FILE  ] ||  exit  6
     make_dirs
     echo  -n $ "Starting $prog: "
     daemon  $nginx  -c  $NGINX_CONF_FILE
     retval=$?
     echo
     $retval  -eq 0 ] && touch  $lockfile
     return  $retval
}
  
stop() {
     echo  -n $ "Stopping $prog: "
     killproc  $prog  -QUIT
     retval=$?
     echo
     $retval  -eq 0 ] && rm -f  $lockfile
     return  $retval
}
  
restart() {
     configtest ||  return  $?
     stop
     sleep 1
     start
}
  
reload() {
     configtest ||  return  $?
     echo  -n $ "Reloading $prog: "
     killproc  $nginx  -HUP
     RETVAL=$?
     echo
}
  
force_reload() {
     restart
}
  
configtest() {
   $nginx  -t -c  $NGINX_CONF_FILE
}
  
rh_status() {
     status  $prog
}
  
rh_status_q() {
     rh_status >/dev/null 2>&1
}
  
case  "$1"  in
     start)
         rh_status_q &&  exit  0
         $1
         ;;
     stop)
         rh_status_q ||  exit  0
         $1
         ;;
     restart|configtest)
         $1
         ;;
     reload)
         rh_status_q ||  exit  7
         $1
         ;;
     force-reload)
         force_reload
         ;;
     status)
         rh_status
         ;;
     condrestart| try -restart)
         rh_status_q ||  exit  0
             ;;
     *)
         echo  $ "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
         exit  2
esac

添加执行权限

1
[root@1inux nginx-1.6.2]#  chmod  +x /etc/rc.d/init.d/nginx

6、修改PATH环境变量,让系统可以直接使用nginx的相关命令

1
2
3
[root@1inux nginx-1.6.2]#  echo  "export PATH=/usr/local/nginx/sbin:$PATH"  > /etc/profile.d/nginx.sh
重载文件
[root@1inux nginx-1.6.2]# .  /etc/profile.d/nginx.sh

7、添加至服务管理列表,并让其开机自动启动

1
2
[root@1inux nginx-1.6.2]# chkconfig --add nginx
[root@1inux nginx-1.6.2]# service nginx start


三、安装Mariadb

1、创建数据存放的文件系统--LVM 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@1inux nginx-1.6.2]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
          switch  off the mode (command  'c' and  change display units to
          sectors (command  'u' ).
Command (m  for  help): n
Command action
    e   extended
    p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (7859-10443,  default  7859): 
Using  default  value 7859
Last cylinder, +cylinders  or  +size{K,M,G} (7859-10443,  default  10443): +6G
Command (m  for  help): t
Partition number (1-4): 3
Hex code (type L to list codes): 83
Command (m  for  help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device  or  resource busy.
The kernel still uses the old table. The  new  table will be used at
the next reboot  or  after you run partprobe(8)  or  kpartx(8)
Syncing disks.

让内核识别分区表

1
2
[root@1inux nginx-1.6.2]# partx -a /dev/sda
[root@1inux nginx-1.6.2]# partx -a /dev/sda

创建LVM

1
2
3
4
[root@1inux nginx-1.6.2]# pvcreate /dev/sda3
[root@1inux nginx-1.6.2]# vgcreate myvg /dev/sda3
[root@1inux nginx-1.6.2]# lvcreate -L 4G -n mydata myvg
[root@1inux nginx-1.6.2]# mke2fs -t ext4 -L MYDATA /dev/myvg/mydata

2、编辑fstab文件自动挂载
[root@1inux nginx-1.6.2]# vim /etc/fstab 

添加如下

1
2
3
4
----------------------
/dev/myvg/mydata    /data            ext4    defaults    0 0
或者 
LABEL=MYDATA         /data            ext4    defaults    0 0

---------------------------

1
2
3
4
5
6
[root@1inux nginx-1.6.2]#  mkdir  /data
[root@1inux nginx-1.6.2]# mount -a     //自动挂载
[root@1inux nginx-1.6.2]# mount
...
/dev/mapper/myvg-mydata on /data type ext4 (rw)
...


3、创建存放数据的目录,并创建系统mysql用户,以便安全运行进程

1
2
3
4
[root@1inux data]#  mkdir  /data/mydata
[root@1inux tmp]# groupadd -r mysql
[root@1inux tmp]# useradd -g mysql -r -s /sbin/nologin -M -d /data/mydata mysql
[root@1inux tmp]#  chown  -R mysql:mysql /data/mydata

4、安装并初始化mariadb-5.5.43

1
2
3
4
[root@1inux tmp]# tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local
[root@1inux tmp]# cd /usr/local
[root@1inux local]# ln -sv mariadb-5.5.43-linux-x86_64/ mysql
[root@1inux local]# cd mysql/
1
2
[root@1inux mysql]#  chown  -R mysql:mysql  .         //修改当前目录权限
[root@1inux mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mydata   //初始化数据

4、为mariadb-5.5.43 提供配置文件 

1
2
3
【MySQL的配置文件查找次序:/etc/my.cnf --> /etc/mysql/my.cnf --> ~/.my.cnf】
[root@1inux mysql]#  mkdir  /etc/mysql
[root@1inux mysql]# cp /usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf

并修改此文件中thread_concurrency的值为你的CPU个数乘以2 【其中cpu个数可以使用lscpu查看】
# vim /etc/mysql/my.cnf

1
2
3
4
thread_concurrency = 2
//并添加以下内容:
datadir = /data/mydata
innodb_file_per_table = on

5、为mariadb 提供sysv服务脚本

1
2
[root@1inux data]# cd /usr/local/mysql
[root@1inux mysql]# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

添加至服务列表

1
2
3
[root@1inux mysql]# chkconfig --add mysqld
[root@1inux mysql]# chkconfig mysqld on
[root@1inux mysql]#

而后就可以启动服务使用了。

为了使用mariadb的安装符合系统使用规范,这里还需要进行如下步骤:

6、输出mysql的man手册至man命令的查找路径:
编辑/etc/man.config,添加如下行即可:

1
MANPATH  /usr/local/mysql/man

7、输出mysql的头文件至系统头文件路径/usr/include:

这可以通过简单的创建链接实现:

1
[root@1inux mysql]# ln -sv /usr/local/mysql/ include   /usr/ include /mysql

8、输出mysql的库文件给系统库查找路径:

1
[root@1inux mysql]#  echo  '/usr/local/mysql/lib'  > /etc/ld.so.conf.d/mysql.conf

然后让系统重新载入系统库:

1
[root@1inux mysql]# ldconfig

9、修改PATH环境变量,让系统可以直接使用mysql的相关命令

1
2
[root@1inux mysql]#  echo  "export PATH=/usr/local/mysql/bin:$PATH"  > /etc/profile.d/mysql.sh
[root@1inux mysql]# . /etc/profile.d/mysql.sh


四、编译安装php-5.4.4

1、解决依赖关系并编译安装: 
安装依赖程序包

1
2
3
4
5
6
7
[root@1inux php-5.4.40]# tar xf php-5.4.40.tar.bz2 
[root@1inux php-5.4.40]# cd php-5.4.40
[root@1inux php-5.4.40]# yum install bzip2 bzip2-devel -y
[root@1inux php-5.4.40]# yum install mhash mhash-devel mcrypt -y
[root@1inux php-5.4.40]# yum -y install libxml2 libxml2-devel
[root@1inux php-5.4.40]# yum -y install curl-devel
[root@1inux php-5.4.40]# yum install libmcrypt libmcrypt-devel -y

编译安装

1
2
[root@1inux php-5.4.40]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --enable-sockets --enable-sysvshm  --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml  --with-mhash --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl 
[root@1inux php-5.4.40]# make && make install

2、为php提供配置文件

1
[root@1inux php-5.4.40]# cp php.ini-production /etc/php.ini

3、为php-fpm提供Sysv init脚本

1
2
3
[root@1inux php-5.4.40]# cp php.ini-production /etc/php.ini
[root@1inux php-5.4.40]# cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm
[root@1inux php-5.4.40]#  chmod  +x /etc/rc.d/init.d/php-fpm

4、并将其添加至服务列表

1
2
[root@1inux php-5.4.40]# chkconfig --add php-fpm
[root@1inux php-5.4.40]# chkconfig php-fpm on

5、为php-fpm提供配置文件

1
[root@1inux php-5.4.40]# cp /usr/local/php/etc/php-fpm.conf. default  /usr/local/php/etc/php-fpm.conf

6、编辑php-fpm的配置文件:
[root@1inux php-5.4.40]# vim /usr/local/php/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):

1
2
3
4
5
pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/ var /run/php-fpm.pid

7、现在就可以启动php-fpm了

1
[root@1inux php-5.4.40]# service php-fpm start

8、验证是否启动成功 (如果此命令输出有中几个php-fpm进程就说明启动成功了):

1
2
3
4
5
[root@1inux php-5.4.40]# ps aux | grep php-fpm
root     121717  0.0  0.4 253684  4308 ?        Ss   03:19   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)                                                                    
nobody   121800  0.7  2.2 259076 20700 ?        S    03:24   0:17 php-fpm: pool www                                                                                                            
nobody   121816  0.4  2.5 261892 23372 ?        S    03:28   0:08 php-fpm: pool www                                                                                                            
nobody   121817  0.3  2.2 259076 20700 ?        S    03:28   0:07 php-fpm: pool www

五、整合nginx和php5
1、编辑/etc/nginx/nginx.conf,启用如下选项:

1
2
3
4
5
6
7
location ~ \.php$ {
             root           html;
             fastcgi_pass   127.0.0.1:9000;
             fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME  /scripts $fastcgi_script_name ;
             include         fastcgi_params;
         }

2、编辑/etc/nginx/fastcgi_params,将其内容更改为如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING        $query_string ;
fastcgi_param  REQUEST_METHOD      $request_method ;
fastcgi_param  CONTENT_TYPE        $content_type ;
fastcgi_param  CONTENT_LENGTH      $content_length ;
fastcgi_param  SCRIPT_FILENAME     $document_root $fastcgi_script_name ;
fastcgi_param  SCRIPT_NAME         $fastcgi_script_name ;
fastcgi_param  REQUEST_URI         $request_uri ;
fastcgi_param  DOCUMENT_URI        $document_uri ;
fastcgi_param  DOCUMENT_ROOT       $document_root ;
fastcgi_param  SERVER_PROTOCOL     $server_protocol ;
fastcgi_param  REMOTE_ADDR         $remote_addr ;
fastcgi_param  REMOTE_PORT         $remote_port ;
fastcgi_param  SERVER_ADDR         $server_addr ;
fastcgi_param  SERVER_PORT         $server_port ;
fastcgi_param  SERVER_NAME         $server_name ;

并在所支持的主页面格式中添加php格式的主页,类似如下:

1
2
3
4
location / {
             root   html;
             index  index.php index.html index.htm;
         }

                
3、然后重新加载配置文件

1
[root@1inux php-5.4.40]# service nginx reload

4、接下来创建index.php页面,测试php是否能正常工作

1
2
3
4
[root@1inux nginx]# vim  /usr/local/nginx/html/index.php 
  <?php
  phpinfo();
  ?>

        
5、访问主页 
wKiom1VlRbaD4FqBAALWkjOYPes177.jpg 
能够正常访问,说明 nginx+ php  已经配置完成 
    
6、在nginx中添加虚拟主机配置WordPress blog
编辑配置文件/etc/nginx/nginx.conf,添加如下内容:server {

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
         listen 80;
         server_name blog.1inux.com;
         access_log logs/blog.access;   //其日志目录为: /usr/local/nginx/logs/blog.access
         error_log  logs/blog.error;
         location / {
                 root /vhost/blog;
                 index index.php index.html index.htm;
         }
         location ~ \.php$ {
             root           /vhost/blog;
             fastcgi_pass   127.0.0.1:9000;
             fastcgi_index  index.php;
             #fastcgi_param  SCRIPT_FILENAME  /scripts $fastcgi_script_name ;
             fastcgi_param  SCRIPT_FILENAME   $document_root $fastcgi_script_name ;
             include         fastcgi_params;
         }
}

创建目录    

1
2
3
4
mkdir  -pv /vhost/blog/    
# unzip wordpress-3.2.1-zh_CN.zip         
# mv wordpress/* /vhost/blog/        
chown  -R nginx:nginx /vhost/blog

创建数据库及数据库用户密码                

1
2
3
4
[root@1inux ~]# mysql        
MariaDB [(none)]> create database wpdb;        
MariaDB [(none)]> GRANT ALL ON wpdb.* TO wpuser@ 'localhost'  IDENTIFIED BY  'wppass' ;        
MariaDB [wpdb]> GRANT ALL ON wp.* TO wpuser@ '172.16.66.%'  IDENTIFIED BY  'wppass' ;

然后安装.......访问  

wKiom1VlRtWTu7ASAAQ8ZSrNLQY337.jpg


六、安装xcache,为php加速:
1、安装 Xcache

1
2
3
4
5
6
7
8
[root@1inux tmp]# tar xf xcache-3.2.0.tar.bz2 
[root@1inux tmp]# cd xcache-3.2.0
[root@1inux xcache-3.2.0]# /usr/local/php/bin/phpize
Configuring  for :
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
[root@1inux xcache-3.2.0]# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

安装结束时,会出现类似如下行:

1
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

2、编辑php.ini,整合php和xcache:

1
2
[root@1inux xcache-3.2.0]#  mkdir  /etc/php.d
[root@1inux xcache-3.2.0]# cp xcache.ini /etc/php.d

注:xcache.ini文件在xcache的源码目录中

3、编辑/etc/php.d/xcache.ini,找到extension开头的行,修改为如下行:
将 extension = xcache.so 修改为如下:

1
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so

注:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。

4、重新启动php-fpm

1
[root@1inux xcache-3.2.0]# service php-fpm restart

wKioL1VlSGiCMmlbAABxRHrmhZM671.jpg


OK  至此 Xcache就安装完成了接下来我们看下效果


七、使用ab进行压力测试 

[root@1inux ~]# ab -n 1000 -c 10 http://blog.1inux.com/index.php  //总请求1000 并发10 


 1、安装Xcache加速前进行的压力测试 效果如下

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
Server Software:        nginx/1.6.2
Server Hostname:        blog.1inux.com
Server Port:            80
Document Path:          /index.php
Document Length:        0 bytes
Concurrency Level:      10     //并发请求数
Time taken  for  tests:   30.660 seconds     //处理请求所花费的总时间
Complete requests:      1000     //总请求数
Failed requests:        0
Write errors:           0
Non-2xx responses:      1000
Total transferred:      257000 bytes
HTML transferred:       0 bytes
Requests per second:    32.62 [#/sec] (mean)   //服务器并发吞吐量
Time per request:       306.602 [ms] (mean)         //用户平均等待时间
Time per request:       30.660 [ms] (mean, across all concurrent requests)     //服务器平均请求处理时间
Transfer rate:          8.19 [Kbytes/sec] received
Connection Times (ms)
               min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:   192  306 129.9    253    1246
Waiting:      192  306 129.9    253    1246
Total:        192  306 129.9    253    1246
Percentage of the requests served within a certain time (ms)
   50%    253
   66%    308
   75%    350
   80%    421
   90%    483
   95%    492
   98%    596
   99%    737
  100%   1246 (longest request)

  2、安装Xcache加速并启用后  进行压力测试结果如下    

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
Server Software:        nginx/1.6.2
Server Hostname:        blog.1inux.com
Server Port:            80
Document Path:          /index.php
Document Length:        0 bytes
Concurrency Level:      10
Time taken  for  tests:   11.158 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Non-2xx responses:      1000
Total transferred:      257000 bytes
HTML transferred:       0 bytes
Requests per second:    89.62 [#/sec] (mean)
Time per request:       111.577 [ms] (mean)
Time per request:       11.158 [ms] (mean, across all concurrent requests)
Transfer rate:          22.49 [Kbytes/sec] received
Connection Times (ms)
               min  mean[+/-sd] median   max
Connect:        0    0   1.0      0      33
Processing:    62  111  20.3    105     207
Waiting:       62  111  20.3    105     207
Total:         63  111  20.3    105     207
Percentage of the requests served within a certain time (ms)
   50%    105
   66%    114
   75%    125
   80%    131
   90%    142
   95%    149
   98%    157
   99%    161
  100%    207 (longest request)


可以明显看到 服务器并发吞吐量以及用户请求时长等性能都有了明显的提升........  

不足之处还请各位看官指正。。。。。。


本文转自 1inux 51CTO博客,原文链接:http://blog.51cto.com/1inux/1655591



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
1012 4
|
28天前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
|
19天前
|
Linux Python
centos 编译安装 python 和 openssl
centos 编译安装 python 和 openssl
40 2
|
2月前
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
58 1
Linux云服务器如何搭建LNMP环境
|
3月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
6月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
1117 5
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
5月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
460 2
|
6月前
|
安全 Linux 编译器
Centos 7.9如何使用源码编译安装curl最新版本
通过上述步骤,您就能在CentOS 7.9上成功地从源代码编译并安装curl的最新版本。这种方法不仅提供了灵活性,允许您定制编译选项,还确保了软件的最新功能和安全更新得到应用。
255 1
|
6月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
714 0
|
7月前
|
Kubernetes Linux Docker
在centos7上搭建k8s环境
在centos7上搭建k8s环境
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等