安装配置MySQL

安装MySQL

下载上传软件包
image.png

  1. [root@localhost src]# ls
  2. nginx-1.17.8.tar.gz
  3. mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz php-5.6.30.tar.gz
  4. [root@lnmp mysql]# cd /usr/local/src/
  5. /解压
  6. [root@lnmp src]# tar -zxf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
  7. [root@lnmp src]# ls
  8. mysql-5.6.47-linux-glibc2.12-x86_64 nginx-1.17.8.tar.gz
  9. mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz php-5.6.30.tar.gz
  10. /移动
  11. [root@lnmp src]# mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql
  12. [root@lnmp src]# cd /usr/local/mysql/
  13. /创建MySQL用户,不可登录。启动需要
  14. [root@lnmp mysql]# useradd -s /sbin/nologin mysql
  15. /创建存放数据目录;更改权限
  16. [root@lnmp mysql]# mkdir -p /data/mysql
  17. [root@lnmp mysql]# chown -R mysql:mysql /data/mysql/
  18. [root@lnmp mysql]# cd /data/mysql/
  19. [root@lnmp mysql]# ls -la
  20. 总用量 0
  21. drwxr-xr-x. 2 mysql mysql 6 9 6 08:49 .
  22. drwxr-xr-x. 3 root root 19 9 6 08:49 ..
  23. [root@lnmp mysql]#
  24. /需要依赖
  25. [root@lnmp mysql]# yum install -y perl-Module-Install
  26. /初始化,上面有两个ok确定安装成功
  27. [root@lnmp mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
  28. [root@lnmp mysql]# echo $?
  29. 0
  30. [root@lnmp mysql]#

配置MySQL

  1. [root@lnmp mysql]# cp support-files/my-default.cnf /etc/my.cnf
  2. cp: overwrite ‘/etc/my.cnf’? y
  3. [root@lnmp mysql]# vim /etc/my.cnf
  4. basedir = /usr/local/mysql
  5. datadir = /data/mysql
  6. port = 3306
  7. server_id = 29
  8. socket = /tmp/mysql.sock

image.png
配置启动脚本

  1. [root@lnmp mysql]# cp support-files/mysql.server /etc/init.d/mysqld
  2. [root@lnmp mysql]# chmod 777 /etc/init.d/mysqld
  3. [root@lnmp mysql]# vim /etc/init.d/mysqld
  4. basedir=/usr/local/mysql
  5. datadir=/data/mysql

image.png

  1. [root@lnmp mysql]# chkconfig --add mysqld
  2. [root@lnmp mysql]# chkconfig mysqld on
  3. [root@lnmp mysql]# service mysqld start
  4. Starting MySQL.Logging to '/data/mysql/lnmp.err'.
  5. SUCCESS!
  6. [root@lnmp mysql]# netstat -ntlp
  7. Active Internet connections (only servers)
  8. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  9. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 941/sshd
  10. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1188/master
  11. tcp6 0 0 :::3306 :::* LISTEN 25697/mysqld
  12. tcp6 0 0 :::22 :::* LISTEN 941/sshd
  13. tcp6 0 0 ::1:25 :::* LISTEN 1188/master
  14. [root@lnmp mysql]#

安装配置PHP

安装PHP

  1. [root@lnmp mysql]# cd /usr/local/src/
  2. [root@lnmp src]# ls
  3. mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz nginx-1.17.8.tar.gz php-5.6.30.tar.gz
  4. [root@lnmp src]#
  5. /安装依赖
  6. [root@lnmp src]# yum install -y gcc libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel eplel-release libmcrypt-devel libcurl-devel libjpeg-devel
  7. /解压
  8. [root@lnmp src]# tar -zvxf php-5.6.30.tar.gz
  9. [root@lnmp src]# ls
  10. mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz php-5.6.30
  11. nginx-1.17.8.tar.gz php-5.6.30.tar.gz
  12. [root@lnmp src]#
  13. [root@lnmp src]# cd php-5.6.30
  14. [root@lnmp php-5.6.30]#
  15. [root@lnmp php-5.6.30]# yum install -y libmcrypt-devel
  16. [root@lnmp php-5.6.30]# ./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-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 --disable-ipv6 --with-pear --with-curl --with-openssl
  17. /编译出错安装下面的再重新编译
  18. yum install -y epel-release 62
  19. yum install -y libmcrypt-devel
  20. [root@lnmp php-5.6.30]# make && make install
  21. [root@lnmp php-5.6.30]# echo $?
  22. 0

配置PHP

  1. /复制配置文件
  2. [root@lnmp php-5.6.30]# cp php.ini-production /usr/local/php-fpm/etc/php.ini
  3. /修改配置文件
  4. [root@lnmp php-5.6.30]# vim /usr/local/php-fpm/etc/php-fpm.conf
  5. [global]
  6. pid = /usr/local/php-fpm/var/run/php-fpm.pid
  7. error_log = /usr/local/php-fpm/var/log/php-fpm.log
  8. [www]
  9. listen = /tmp/php-fcgi.sock
  10. listen.mode = 666
  11. user = php-fpm
  12. group = php-fpm
  13. pm = dynamic
  14. pm.max_children = 50
  15. pm.start_servers = 20
  16. pm.min_spare_servers = 5
  17. pm.max_spare_servers = 35
  18. pm.max_requests = 500
  19. rlimit_files = 1024

image.png

  1. [root@lnmp php-5.6.30]# useradd -s /sbin/nologin php-fpm
  2. /带有successful 表示成功。
  3. [root@lnmp php-5.6.30]# /usr/local/php-fpm/sbin/php-fpm -t
  4. [06-Sep-2021 10:44:35] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
  5. /启动php-fpm
  6. [root@lnmp php-5.6.30]# cp /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  7. [root@lnmp php-5.6.30]# chmod 755 /etc/init.d/php-fpm
  8. [root@lnmp php-5.6.30]# service php-fpm start
  9. Starting php-fpm done
  10. [root@lnmp php-5.6.30]# chkconfig php-fpm on
  11. [root@lnmp php-5.6.30]# ps aux |grep php-fpm
  12. root 24261 0.2 0.2 128200 5052 ? Ss 10:46 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
  13. php-fpm 24262 0.0 0.2 128200 4788 ? S 10:46 0:00 php-fpm: pool www
  14. php-fpm 24263 0.0 0.2 128200 4788 ? S 10:46 0:00 php-fpm: pool www
  15. php-fpm 24264 0.0 0.2 128200 4788 ? S 10:46 0:00 php-fpm: pool www
  16. php-fpm 24265 0.0 0.2 128200 4788 ? S 10:46 0:00 php-fpm: pool www
  17. php-fpm 24266 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  18. php-fpm 24267 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  19. php-fpm 24268 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  20. php-fpm 24269 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  21. php-fpm 24270 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  22. php-fpm 24271 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  23. php-fpm 24272 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  24. php-fpm 24273 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  25. php-fpm 24274 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  26. php-fpm 24275 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  27. php-fpm 24276 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  28. php-fpm 24277 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  29. php-fpm 24278 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  30. php-fpm 24279 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  31. php-fpm 24280 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  32. php-fpm 24281 0.0 0.2 128200 4796 ? S 10:46 0:00 php-fpm: pool www
  33. root 24303 0.0 0.0 112824 984 pts/0 R+ 10:46 0:00 grep --color=auto php-fpm
  34. [root@lnmp php-5.6.30]#

安装配置nginx

  1. /上传解压安装包
  2. [root@lnmp ~]# cd /usr/local/src/
  3. [root@lnmp src]# ls
  4. mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz php-5.6.30
  5. nginx-1.17.8.tar.gz php-5.6.30.tar.gz
  6. [root@lnmp src]# tar zxf nginx-1.17.8.tar.gz
  7. [root@lnmp src]# ls
  8. mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz nginx-1.17.8.tar.gz php-5.6.30.tar.gz
  9. nginx-1.17.8 php-5.6.30
  10. [root@lnmp src]#
  11. [root@lnmp src]# cd nginx-1.17.8
  12. [root@lnmp nginx-1.17.8]# ./configure --prefix=/usr/local/nginx
  13. [root@lnmp nginx-1.17.8]# make && make install
  14. [root@lnmp nginx-1.17.8]# echo $?
  15. 0
  16. [root@lnmp nginx-1.17.8]# vim /etc/init.d/nginx
  17. #!/bin/bash
  18. # chkconfig: - 30 21
  19. # description: http service.
  20. # Source Function Library
  21. . /etc/init.d/functions
  22. # Nginx Settings
  23. NGINX_SBIN="/usr/local/nginx/sbin/nginx"
  24. NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
  25. NGINX_PID="/usr/local/nginx/logs/nginx.pid"
  26. RETVAL=0
  27. prog="Nginx"
  28. start()
  29. {
  30. echo -n $"Starting $prog: "
  31. mkdir -p /dev/shm/nginx_temp
  32. daemon $NGINX_SBIN -c $NGINX_CONF
  33. RETVAL=$?
  34. echo
  35. return $RETVAL
  36. }
  37. stop()
  38. {
  39. echo -n $"Stopping $prog: "
  40. killproc -p $NGINX_PID $NGINX_SBIN -TERM
  41. rm -rf /dev/shm/nginx_temp
  42. RETVAL=$?
  43. echo
  44. return $RETVAL
  45. }
  46. reload()
  47. {
  48. echo -n $"Reloading $prog: "
  49. killproc -p $NGINX_PID $NGINX_SBIN -HUP
  50. RETVAL=$?
  51. echo
  52. return $RETVAL
  53. }
  54. restart()
  55. {
  56. stop
  57. start
  58. }
  59. configtest()
  60. {
  61. $NGINX_SBIN -c $NGINX_CONF -t
  62. return 0
  63. }
  64. case "$1" in
  65. start)
  66. start
  67. ;;
  68. stop)
  69. stop
  70. ;;
  71. reload)
  72. reload
  73. ;;
  74. restart)
  75. restart
  76. ;;
  77. configtest)
  78. configtest
  79. ;;
  80. *)
  81. echo $"Usage: $0 {start|stop|reload|restart|configtest}"
  82. RETVAL=1
  83. esac
  84. exit $RETVAL

image.png

  1. [root@lnmp nginx-1.17.8]# chmod 755 /etc/init.d/nginx
  2. [root@lnmp nginx-1.17.8]# chkconfig --add nginx
  3. [root@lnmp nginx-1.17.8]# chkconfig nginx on
  4. [root@lnmp nginx-1.17.8]# > /usr/local/nginx/conf/nginx.conf
  5. [root@lnmp nginx-1.17.8]# vim /usr/local/nginx/conf/nginx.conf
  6. user nobody nobody;
  7. worker_processes 2;
  8. error_log /usr/local/nginx/logs/nginx_error.log crit;
  9. pid /usr/local/nginx/logs/nginx.pid;
  10. worker_rlimit_nofile 51200;
  11. events
  12. {
  13. use epoll;
  14. worker_connections 6000;
  15. }
  16. http
  17. {
  18. include mime.types;
  19. default_type application/octet-stream;
  20. server_names_hash_bucket_size 3526;
  21. server_names_hash_max_size 4096;
  22. log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
  23. ' $host "$request_uri" $status'
  24. ' "$http_referer" "$http_user_agent"';
  25. sendfile on;
  26. tcp_nopush on;
  27. keepalive_timeout 30;
  28. client_header_timeout 3m;
  29. client_body_timeout 3m;
  30. send_timeout 3m;
  31. connection_pool_size 256;
  32. client_header_buffer_size 1k;
  33. large_client_header_buffers 8 4k;
  34. request_pool_size 4k;
  35. output_buffers 4 32k;
  36. postpone_output 1460;
  37. client_max_body_size 10m;
  38. client_body_buffer_size 256k;
  39. client_body_temp_path /usr/local/nginx/client_body_temp;
  40. proxy_temp_path /usr/local/nginx/proxy_temp;
  41. fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
  42. fastcgi_intercept_errors on;
  43. tcp_nodelay on;
  44. gzip on;
  45. gzip_min_length 1k;
  46. gzip_buffers 4 8k;
  47. gzip_comp_level 5;
  48. gzip_http_version 1.1;
  49. gzip_types text/plain application/x-javascript text/css text/htm
  50. application/xml;
  51. server
  52. {
  53. listen 80;
  54. server_name localhost;
  55. index index.html index.htm index.php;
  56. root /usr/local/nginx/html;
  57. location ~ \.php$
  58. {
  59. include fastcgi_params;
  60. fastcgi_pass unix:/tmp/php-fcgi.sock;
  61. fastcgi_index index.php;
  62. fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
  63. }
  64. }
  65. }

image.png

  1. [root@lnmp nginx-1.17.8]# /usr/local/nginx/sbin/nginx -t
  2. nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  3. nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  4. [root@lnmp nginx-1.17.8]#
  5. /启动服务
  6. [root@lnmp nginx-1.17.8]# /usr/local/nginx/sbin/nginx -t
  7. nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  8. nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  9. [root@lnmp nginx-1.17.8]# service nginx start
  10. Starting nginx (via systemctl): [ 确定 ]
  11. [root@lnmp nginx-1.17.8]# ps aux |grep nginx
  12. root 26968 0.0 0.0 20568 636 ? Ss 10:57 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  13. nobody 26969 0.0 0.1 22964 3196 ? S 10:57 0:00 nginx: worker process
  14. nobody 26970 0.0 0.1 22964 3196 ? S 10:57 0:00 nginx: worker process
  15. root 26972 0.0 0.0 112824 984 pts/0 R+ 10:57 0:00 grep --color=auto nginx
  16. [root@lnmp nginx-1.17.8]# netstat -ntlp
  17. Active Internet connections (only servers)
  18. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  19. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26968/nginx: master
  20. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 941/sshd
  21. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1188/master
  22. tcp6 0 0 :::3306 :::* LISTEN 25697/mysqld
  23. tcp6 0 0 :::22 :::* LISTEN 941/sshd
  24. tcp6 0 0 ::1:25 :::* LISTEN 1188/master
  25. [root@lnmp nginx-1.17.8]#
  26. [root@lnmp nginx-1.17.8]# curl localhost
  27. <!DOCTYPE html>
  28. <html>
  29. <head>
  30. <title>Welcome to nginx!</title>
  31. <style>
  32. body {
  33. width: 35em;
  34. margin: 0 auto;
  35. font-family: Tahoma, Verdana, Arial, sans-serif;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <h1>Welcome to nginx!</h1>
  41. <p>If you see this page, the nginx web server is successfully installed and
  42. working. Further configuration is required.</p>
  43. <p>For online documentation and support please refer to
  44. <a href="http://nginx.org/">nginx.org</a>.<br/>
  45. Commercial support is available at
  46. <a href="http://nginx.com/">nginx.com</a>.</p>
  47. <p><em>Thank you for using nginx.</em></p>
  48. </body>
  49. </html>
  50. [root@lnmp nginx-1.17.8]#

登录网页输入
192.168.100.10
因为80端口默认启动,所以不用加80
效果如下图
image.png
测试

  1. 测试能否正确解析PHP
  2. 测试能否正确解析PHP
  3. [root@lnmp nginx-1.17.8]# vim /usr/local/nginx/html/1.php
  4. <?php
  5. echo "test php scripts"
  6. ?>
  7. [root@lnmp nginx-1.17.8]# curl localhost/1.php
  8. test php scripts[root@lnmp nginx-1.17.8]#
  9. 测试成功

网页效果
image.png