LNMP搭建

合集下载

详解用Nginx搭建CDN服务器方法(图文)

详解用Nginx搭建CDN服务器方法(图文)

详解⽤Nginx搭建CDN服务器⽅法(图⽂)利⽤Nginx的proxy_cache搭建缓存服务器⼀:编译ngx_cache_purge1、Nginx的Proxy_cache是根据Key值md5哈希存储缓存,⽀持任意的Key,例如你可以根据”域名、URI、参数”组合成key,也⽀持⾮200状态码,如404/302等。

2、要利⽤Nginx的Proxy_cache,你需要在Nginx编译进ngx_cache_purge 模块,执⾏:nginx -V,查看有没有ngx_cache_purge 字样,没有的话需要⾃⼰⼿动编译。

Nginx搭建CDN⼿动编译3、这⾥以Oneinstack编译ngx_cache_purge 模块作为操作演⽰,如果你⽤的是其它的LNMP包可以参考,基本过程是差不多的。

命令如下:cd /root/oneinstack/src #进⼊安装包⽬录nginx -Vtar xzf nginx-1.10.3.tar.gz #根据上⾯查看到的nginx版本选择解压包wget /files/ngx_cache_purge-2.3.tar.gztar zxvf ngx_cache_purge-2.3.tar.gzcd /root/oneinstack/src/nginx-1.10.3# 下⾯的./configure 后加的参数,你可以直接复制刚刚⽤nginx -V得到的参数,然后在最后加上–add-module=../ngx_cache_purge-2.3即可,参考:./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module –with-http_v2_module –with-http_ssl_module –with-http_gzip_static_module –with-http_realip_module –with-http_flv_module –with-http_mp4_module –with-openssl=../o makemv /usr/local/nginx/sbin/nginx{,$(date +%m%d)}cp objs/nginx /usr/local/nginx/sbin #oneinstack,其它的可以不⽤这个操作nginx -tservice nginx restart4、安装完成后,再次nginx -V你就可以看到Nginx已经成功编译进了ngx_cache_purge 了。

LAMP环境搭建

LAMP环境搭建

Linux牛逼命令大全∙壹、底层辅助支持软件的安装o1、安装OpenSSLo2、安装Curl库o3、安装expato4、安装libxml2o5、安装libxslto6、安装libmcrypto7、安装mhasho8、安装mcrypto9、安装zlibo10、安装libpngo11、安装jpego12、安装freetypeo13、安装m4o14、安装autoconfo15、安装libiconvo16、安装bzip2o17、安装GD库∙贰、安装Apache方法一o18、安装apro19、安装apr-utilo20、安装pcreo21、安装apache方法一∙叁、安装Apache方法二o18、处理apro19、处理apr-utilo20、安装pcreo21、安装apache方法二∙Apache启动管理方式o I、手工管理apacheo II、chkconfig管理apache∙肆、安装MySQLo22、安装cmakeo23、安装bisono24、安装ncurseso25、安装MySQL∙MySQL启动管理方式o I、手工管理MySQLo II、chkconfig管理MySQL∙伍、安装PHPo26、安装PHPo27、安装memcached服务器端o28、安装php扩展功能memcacheo29、安装php扩展memcachedo30、安装Zend加速器Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。

从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.本实验采用64位CentOS6.8进行部署,系统最小化安装,apache选用httpd-2.4.7,mysql选用mysql-5.6.32,php选用php-5.6.26。

LNMP搭建总结

LNMP搭建总结
(三)Yum 安装 Lnmp 一些基本的调用库
mysql
yum install -y libaio library cmake glibc gcc zlib-devel pcre pcre-devel
PHP
需要源:epel (libmcrypt-devel 这个包) yum install -y epel-release (i386)rpm -Uvh /epel/6/i386/epel-release-6-8.noarch.rpm (x86_64)rpm -Uvh /epel/6/x86_64/epel-release-6-8.noarch.rpm yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype-devel libmcrypt-devel libjpeg-devel libcurl-devel libtool-ltdl-devel (libcurl-devel libtool-ltdl-devel)LNMP 需要加上这两个包
cp support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld vim /etc/init.d/mysqld
修改 basedir=/usr/local/mysql datadir=/data/mysql
chkconfig --add mysqld chkconfig mysqld on service mysqld restart ps aux |grep mysqld
清空 filter 表的所有规则 iptables -t filter -F iptables -t filter -X iptables -t filter -Z

Centos LNMP安装

Centos LNMP安装

Linux(6.4)+Nginx(1.4.1)+Mysql(5.6.12)+Php(5.5.0)源码编译安装环境介绍内核2.6.32,系统为CentOS6.4的64为系统,ip地址为192.168.2.103。

如下:[root@ASANGE ~]# uname -r2.6.32-358.el6.x86_64[root@ASANGE ~]# cat /etc/redhat-releaseCentOS release 6.4 (Final)[root@ASANGE ~]# ifconfig | grep addr: |awk '{print $2}' |awk -F: '{print $2}'192.168.2.103127.0.0.1配置本地yum源:创建本地yum源,挂载光盘并创建repo文件:[root@ASANGE ~]# mount /dev/cdrom /media/cdrom/[root@ASANGE ~]# vim /etc/yum.repos.d/local.repo //添加如下内容[LOCAL]name=localbaseurl=file:///media/cdromenabled=1gpgcheck=0[root@ASANGE ~]# yum clean all解决依赖关系:在编译安装nginx、mysql、和php时依赖的包提前安装:1 [root@ASANGE ~]# yum -y install gcc pcre pcre-devel gcc-c++ autoconf libxml2 libxml2-devel zlib zlib-develglibc libjepg libjepg-devel libpng libpng-devel glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devele2fsprogs e2fsprogs-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-serversmake简单介绍一下:GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。

云服务器安装宝塔面板完整教程

云服务器安装宝塔面板完整教程

云服务器安装宝塔面板完整教程展开全文下面稍微介绍一下如何使用阿里云服务器安装宝塔面板。

概述如果还有不了解宝塔面板怎么使用的小伙伴,可以看下前文:•宝塔面板教程(1)基于云服务器搭建宝塔面板教程最全详解•宝塔面板教程(2)宝塔面板添加WordPress站点详细图文教程•宝塔面板教程(3)基于宝塔面板成功配置网站SSL安全证书•宝塔面板教程(4)WordPress网站的备份与恢复(宝塔面板)•宝塔面板教程(5)WordPress网站程序和数据库定时备份到七牛云存储图文教程•宝塔面板教程(6)WordPress网站程序和数据库定时备份到又拍云存储空间图文教程•宝塔面板教程(7)宝塔面板版本升级更新教程汇总—升级宝塔面板一、准备阿里云的云服务器,即阿里云ECS,默认的用户名 root,密码的话可以修改。

当然你也可以选择腾讯云服务器,都能满足需求。

远程连接云服务器使用 ssh 软件工具,使用的是公网ip。

注意事项:出于性能考虑,服务器的操作系统一定要选Linux版本(centos或者ubuntu),不要选Window。

主要步骤:拥有一台云服务器》ssh工具连接云服务器》安装宝塔面板》配置云服务器安全组(放行端口)》宝塔面板在线访问成功二、安装面板1、使用ssh工具连接云服务器本站提供ssh客户端软件下载【Xshell6下载+Xftp6下载】【FinalShell下载】windows下可以使用XShell,macOs的可以使用终端。

因为SSH工具有很多种,找到自己用的舒服的工具就可以,不用纠结使用哪一种。

我自己是用的FinalShell这一款SSH工具来进行Linux远程连接的,如何认为不安全的话,也可以选择用xshell来进行服务器ssh远程连接,如下图2、输入宝塔面板安装命令温馨提示:宝塔面板最近升级到了7.0版本,Centos7以上的系统建议安装宝塔面板最新版:/bbs/thread-19376-1-1.html(宝塔面板7.x版本,点击查看安装命令)/bbs/thread-30562-1-1.html(宝塔面板6.x版本,点击查看安装命令)安装方法这里也有介绍(以宝塔面板 5.x版本举例):http:///bbs/thread-1186-1-1.html以下安装命令是宝塔面板5.x版本的,请注意。

lnmp简单案例

lnmp简单案例

lnmp简单案例下面就给你整一个超简单的LNMP案例,就像讲故事一样,保证你轻松理解。

一、啥是LNMP呢?先简单说一下,LNMP就是由Linux操作系统、Nginx服务器、MySQL数据库和PHP 编程语言组成的一个超棒的网络应用环境。

这几个家伙凑一块儿,就能让好多超酷的网站跑起来啦。

二、案例场景搭建一个超简单的博客网站。

1. 准备工作安装Linux操作系统。

咱就假设你已经有一台服务器或者虚拟机装了Linux系统,像CentOS或者Ubuntu都挺不错的。

要是没有,那就像搭积木一样先装一个呗。

2. 安装Nginx。

在Linux系统里打开命令行(就像打开一个魔法盒子,你输入指令就能让电脑干各种事儿)。

对于CentOS系统,你可以输入像这样的命令(当然要先确保你有足够的权限哦,一般用sudo或者切换到root用户):`yum install nginx -y`。

这个命令就像是告诉电脑:“电脑兄,给我把Nginx 装上,别啰嗦。

”对于Ubuntu系统呢,就是 `apt get install nginx -y`。

安装好之后,你可以通过浏览器访问你的服务器IP地址,如果看到了Nginx的欢迎页面,那就说明Nginx 安装成功啦,就像你敲开了一扇通往博客世界的大门。

3. 安装MySQL数据库。

在CentOS系统里,你可以这样干:先添加MySQL的yum源,就像告诉电脑到哪里去找MySQL这个宝藏。

然后再执行`yum install mysql server -y` 命令来安装MySQL服务器。

安装好之后,启动MySQL服务,用命令 `systemctl start mysqld`。

在Ubuntu系统下,是 `apt get install mysql server -y`。

安装完之后,你可以用 `mysql u root p`(这里是登录MySQL,输入密码后就进入MySQL的命令行界面啦)来测试一下是不是安装成功了。

[lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--之第五步php安装]

[lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--之第五步php安装]

php安装将libiconv-1.13.1.tar.gz上传至/software#tar zxf libiconv-1.13.1.tar.gz#cd libiconv-1.13.1#./configure --prefix=/usr/local/#make && make install#cd ..将libmcrypt-2.5.8.tar.gz 上传至/software#tar zxf libmcrypt-2.5.8.tar.gz#cd libmcrypt-2.5.8#./configure#make && make install#/sbin/ldconfig#cd libltdl#./configure --enable-ltdl-install#make && make install#cd ../../将mhash-0.9.9.9.tar.gz上传至/software#tar zxf mhash-0.9.9.9.tar.gz#cd mhash-0.9.9.9/#./configure#make && make install#cd ../#ln -s /usr/local/lib/ /usr/lib/#ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so#ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4#ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 #ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a#ln -s /usr/local/lib/ /usr/lib/#ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so#ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2#ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 #ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config将mcrypt-2.6.8.tar.gz上传至/software#tar zxvf mcrypt-2.6.8.tar.gz#cd mcrypt-2.6.8/#/sbin/ldconfig#./configure#make && make install#cd ../将php-5.4.3.tar.gz上传至/softwarephp5.3.3以后的版本源码不需要再打php-fpm补丁,该补丁已集成进php5.3.3, 在编译时,不需再–enable-fastcgi了,在php5.3.3中强制启用fastcgi了。

linuxlnmp搭建实训总结

linuxlnmp搭建实训总结

linuxlnmp搭建实训总结在Linux环境下搭建LNMP(Linux+Nginx+MySQL+PHP)是一项常见的实训任务,该任务旨在让学生通过实际操作了解和掌握LNMP架构的搭建和配置。

我参与了这个实训,并总结了以下的经验和收获。

首先,Linux是一个非常稳定和安全的操作系统,因此我们首先需要安装和配置Linux。

在实训中,我们使用了Ubuntu作为我们的Linux发行版。

我们学习了如何在虚拟机中安装Ubuntu,并进行基本的配置,例如网络设定、用户管理等。

这些基本操作对于后续的LNMP 的搭建非常重要,因为我们需要建立合适的开发和测试环境。

接下来,我们安装和配置了Nginx。

Nginx是一个高性能的Web服务器,经常被用于承载高并发的Web应用。

我们学习了如何从官方网站下载和安装Nginx,以及如何对其进行基本的配置。

我们了解了Nginx的配置文件结构,学习了如何创建和编辑这些配置文件,以及如何重载配置文件以使更改生效。

在配置Nginx时,我们还学习了如何设置虚拟主机,以便我们能够在同一台服务器上承载多个网站。

我们了解了虚拟主机配置文件的结构和语法,并学习了如何将请求从域名映射到正确的网站目录。

接下来,我们安装和配置了MySQL。

MySQL是一个流行的关系型数据库管理系统,经常被用于存储和管理数据。

我们学习了如何从官方网站下载和安装MySQL,以及如何对其进行基本的配置。

我们了解了MySQL的配置文件结构和默认值,并学习了如何创建和管理数据库和用户。

在配置MySQL时,我们还学习了如何设置远程访问权限,以便通过其他主机连接和管理MySQL服务器。

我们了解了如何修改MySQL的配置文件以允许远程连接,并学习了如何创建和管理远程MySQL用户。

最后,我们安装和配置了PHP。

PHP是一种常用的脚本语言,经常被用于开发Web应用。

我们学习了如何从官方网站下载和安装PHP,并进行了基本的配置。

我们了解了PHP的配置文件结构和选项,并学习了如何设置PHP的运行参数和扩展。

通过docker容器搭建lamp架构的流程

通过docker容器搭建lamp架构的流程

通过docker容器搭建lamp架构的流程⽬录1. 拉取centos镜像2. 构建nginx镜像3. 构建mysql镜像4. 构建php镜像5. 配置lnmp1. 拉取centos镜像[root@localhost ~]# docker pull centosUsing default tag: latestlatest: Pulling from library/centosa1d0c7532777: Pull completeDigest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Status: Downloaded newer image for centos:latestdocker.io/library/centos:latest[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos latest 5d0da3dc9764 2 months ago 231MB[root@localhost ~]#2. 构建nginx镜像[root@localhost ~]# docker run --name nginx -it centos[root@522006030d19 /]# useradd -r -M -s /sbin/nologin nginx[root@522006030d19 /]# yum -y install pcre-devel pcre gcc gcc-c++ openssl-devel zlib zlib-devel make vim wget openssl openssl-devel gd-devel[root@522006030d19 /]# mkdir -p /var/log/nginx[root@522006030d19 /]# chown -R nginx.nginx /var/log/nginx[root@522006030d19 /]# cd /usr/src/[root@522006030d19 src]# wget https:///download/nginx-1.20.1.tar.gz[root@522006030d19 src]# tar xf nginx-1.20.1.tar.gz[root@522006030d19 src]# cd nginx-1.20.1[root@522006030d19 nginx-1.20.1]# ./configure \> --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx \> --with-debug \> --with-http_ssl_module \> --with-http_realip_module \> --with-http_image_filter_module \> --with-http_gunzip_module \> --with-http_gzip_static_module \> --with-http_stub_status_module \> --http-log-path=/var/log/nginx/access.log \> --error-log-path=/var/log/nginx/error.log[root@522006030d19 nginx-1.20.1]# make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install[root@522006030d19 nginx-1.20.1]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh[root@522006030d19 nginx-1.20.1]# source /etc/profile.d/nginx.sh [root@522006030d19 nginx-1.20.1]# nginx[root@522006030d19 nginx-1.20.1]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port ProcessLISTEN 0 128 0.0.0.0:80 0.0.0.0:*[root@522006030d19 nginx-1.20.1]#[root@522006030d19 nginx-1.20.1]# echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf[root@522006030d19 nginx-1.20.1]# tail -1 /usr/local/nginx/conf/nginx.confdaemon off;[root@522006030d19 nginx-1.20.1]#//打开另外⼀个终端[root@localhost ~]# docker commit -c 'CMD ["/usr/local/nginx/sbin/nginx"]'-p nginx pengyudong/nginx:v1sha256:2153a12060f6cca88646f285a1ae2af2a94c0d489ad8393f931d29c8fdd8af6e[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEpengyudong/nginx v1 2153a12060f6 27 seconds ago 576MBcentos latest 5d0da3dc9764 2 months ago 231MB[root@localhost ~]#[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES522006030d19 centos "/bin/bash" 14 minutes ago Exited (0) 38 seconds ago nginx[root@localhost ~]# docker rm 522006030d19522006030d19[root@localhost ~]# docker run pengyudong/nginx:v1[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb…" About a minute ago Up 2 seconds blissful_perlman[root@localhost ~]# docker inspect 9c129a20e7c7......省略N⾏"Gateway": "172.17.0.1","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.17.0.2",.....省略N⾏[root@localhost ~]# curl 172.17.0.2<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer to<a href="/" rel="external nofollow" ></a>.<br/>Commercial support is available at<a href="/" rel="external nofollow" ></a>.</p><p><em>Thank you for using nginx.</em></p></body></html>[root@localhost ~]#3. 构建mysql镜像[root@localhost ~]# docker run --name mysql -it centos[root@16256ee64b9e /]# cd /usr/src/[root@16256ee64b9e src]# lsdebug kernels[root@16256ee64b9e src]#//开启另外⼀个终端[root@localhost src]# lsdebug kernels mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz[root@localhost ~]# cd /usr/src/[root@localhost src]# docker cp mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz mysql:/usr/src/[root@16256ee64b9e src]# lsdebug kernels mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz[root@16256ee64b9e src]#[root@16256ee64b9e src]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs libaio numactl[root@16256ee64b9e src]# useradd -r -M -s /sbin/nologin mysql[root@16256ee64b9e src]# tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz[root@16256ee64b9e src]# mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql[root@16256ee64b9e src]# cd /usr/local/[root@16256ee64b9e local]# lsbin etc games include lib lib64 libexec mysql sbin share src[root@16256ee64b9e local]# chown -R mysql.mysql /usr/local/mysql[root@16256ee64b9e local]# mkdir /opt/data[root@16256ee64b9e local]# chown -R mysql.mysql /opt/data[root@16256ee64b9e local]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data2021-12-06T02:53:34.095554Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2021-12-06T02:53:35.482793Z 0 [Warning] InnoDB: New log files created, LSN=457902021-12-06T02:53:35.506011Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2021-12-06T02:53:35.562063Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b4aa24d8-563f-11ec-80a8-0242ac110003. 2021-12-06T02:53:35.562798Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2021-12-06T02:53:35.979249Z 0 [Warning] CA certificate ca.pem is self signed.2021-12-06T02:53:36.217615Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.[root@16256ee64b9e local]#[root@16256ee64b9e local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh[root@16256ee64b9e local]# . /etc/profile.d/mysql.sh[root@16256ee64b9e local]# echo $PATH/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin[root@16256ee64b9e local]# cat > /etc/f <<EOF> [mysqld]> basedir = /usr/local/mysql> datadir = /opt/data> socket = /tmp/mysql.sock> port = 3306> pid-file = /opt/data/mysql.pid> user = mysql> skip-name-resolve> EOF[root@16256ee64b9e local]# cat /etc/mmachine-id modprobe.d/ motd fmakedumpfile.conf.sample modules-load.d/ mtab f.d/[root@16256ee64b9e local]# cat /etc/f[mysqld]basedir = /usr/local/mysqldatadir = /opt/datasocket = /tmp/mysql.sockport = 3306pid-file = /opt/data/mysql.piduser = mysqlskip-name-resolve[root@16256ee64b9e local]#[root@16256ee64b9e local]# sed -ri 's#^(basedir=).*#\1/usr/local/mysql#g' /usr/local/mysql/support-files/mysql.server[root@16256ee64b9e local]# sed -ri 's#^(datadir=).*#\1/opt/data#g' /usr/local/mysql/support-files/mysql.server[root@16256ee64b9e local]# sed -n '46,1p' /usr/local/mysql/support-files/mysql.serverbasedir=/usr/local/mysql[root@16256ee64b9e local]# sed -n '47,1p' /usr/local/mysql/support-files/mysql.serverdatadir=/opt/data[root@16256ee64b9e local]# sed -n '46,47p' /usr/local/mysql/support-files/mysql.serverbasedir=/usr/local/mysqldatadir=/opt/data[root@16256ee64b9e local]#[root@16256ee64b9e ~]# /usr/local/mysql/support-files/mysql.server startStarting MySQL.Logging to '/opt/data/16256ee64b9e.err'.SUCCESS![root@16256ee64b9e ~]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port ProcessLISTEN 0 80 *:3306 *:*[root@16256ee64b9e ~]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.34 MySQL Community Server (GPL)Copyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> set password = password('123');Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> exitBye[root@16256ee64b9e ~]#[root@16256ee64b9e ~]# mkdir /scripts[root@16256ee64b9e ~]# vi /scripts/start.sh[root@16256ee64b9e ~]# sed -n '1,3p' /scripts/start.sh#!/bin/bash/usr/local/mysql/support-files/mysql.server start/bin/bash[root@16256ee64b9e ~]# chmod +x /scripts/start.sh[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEpengyudong/nginx v1 2153a12060f6 28 minutes ago 576MBcentos latest 5d0da3dc9764 2 months ago 231MB[root@localhost ~]# docker commit -c 'CMD ["/scripts/start.sh"]' -p mysql pengyudong/mysql:v1sha256:9c8b9aa2d9177e737138f7a42976210fd6e7b039cb543c306281be72c351806e[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEpengyudong/mysql v1 9c8b9aa2d917 4 seconds ago 3.81GBpengyudong/nginx v1 2153a12060f6 30 minutes ago 576MBcentos latest 5d0da3dc9764 2 months ago 231MB[root@localhost ~]# docker run --name mysql-1 -dit --net=container:97c5a3076d39 pengyudong/mysql:v1[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESade839dc292e pengyudong/mysql:v1 “/scripts/start.sh” 12 minutes ago Up 12 minutes mysql-129007b1a67a8 pengyudong/nginx:v1 “/usr/local/nginx/sb…” 2 hours ago Up About an hour[root@localhost ~]# docker exec -it mysql-1 /bin/bash[root@29007b1a67a8 /]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port ProcessLISTEN 0 128 0.0.0.0:80 0.0.0.0:*LISTEN 0 80 *:3306 :4. 构建php镜像[root@localhost ~]# cd /usr/src/[root@localhost src]# lsdebug kernels mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz php-8.0.10.tar.gz[root@localhost src]# docker cp php-8.0.10.tar.gz php8:/usr/src/[root@a116c2a489fe src]# lsdebug kernels php-8.0.10.tar.gz[root@a116c2a489fe src]# yum -y install epel-release[root@a116c2a489fe src]# yum -y install sqlite-devel libzip-devel libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libicu-devel libjpeg libjpeg-devel libpng libpng-devel openldap-devel pcre-devel freetype freetype-devel gmp gmp-devel readline readl [root@a116c2a489fe src]# yum -y install /centos/8-stream/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm[root@a116c2a489fe src]# tar xf php-8.0.10.tar.gz[root@a116c2a489fe src]# cd php-8.0.10[root@a116c2a489fe php-8.0.10]# ./configure --prefix=/usr/local/php8 \> --with-config-file-path=/etc \> --enable-fpm \> --disable-debug \> --disable-rpath \> --enable-shared \> --enable-soap \nable-exif \--enable-ftp \--enable-gd \--with-jpeg \--with-zlib-dir \--with-freetype \--with-gettext \--enable-mbstring \--enable-pdo \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-readline \--enable-shmop \--enable-simplexml \--en> --with-openssl \> --enable-bcmath \> --with-iconv \> --with-bz2 \> --enable-calendar \> --with-curl \> --enable-exif \> --enable-ftp \> --enable-gd \> --with-jpeg \> --with-zlib-dir \> --with-freetype \> --with-gettext \> --enable-mbstring \> --enable-pdo \> --with-mysqli=mysqlnd \> --with-pdo-mysql=mysqlnd \> --with-readline \> --enable-shmop \> --enable-simplexml \> --enable-sockets \> --with-zip \> --enable-mysqlnd-compression-support \> --with-pear \> --enable-pcntl \> --enable-posix[root@a116c2a489fe php-8.0.10]# make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install[root@a116c2a489fe php-8.0.10]# echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php.sh[root@a116c2a489fe php-8.0.10]# source /etc/profile.d/php.sh[root@a116c2a489fe php-8.0.10]# cp -f /usr/src/php-8.0.10/php.ini-production /etc/php.icp: overwrite '/etc/php.i'? yes[root@a116c2a489fe php-8.0.10]# cp -f /usr/src/php-8.0.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm[root@a116c2a489fe php-8.0.10]# chmod +x /etc/init.d/php-fpm[root@a116c2a489fe php-8.0.10]# cp -f /usr/local/php8/etc/php-fpm.conf.default /usr/local//php8/etc/php-fpm.conf[root@a116c2a489fe php-8.0.10]# cp -f /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf[root@a116c2a489fe php-8.0.10]# mkdir /scripts[root@a116c2a489fe php-8.0.10]# vi /scripts/start.sh[root@a116c2a489fe php-8.0.10]# cat /scripts/start.sh#!/bin/bash/etc/init.d/php-fpm start/bin/bash[root@a116c2a489fe php-8.0.10]# chmod +x /scripts/start.sh[root@a116c2a489fe php-8.0.10]# /etc/init.d/php-fpm startStarting php-fpm done[root@a116c2a489fe php-8.0.10]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port ProcessLISTEN 0 128 127.0.0.1:9000 0.0.0.0:*[root@a116c2a489fe php-8.0.10]#[root@0e6298ebe47d php-8.0.10]#[root@0e6298ebe47d php-8.0.10]# mkdir -p /var/www/html[root@0e6298ebe47d php-8.0.10]# vi /var/www/html/index.php[root@0e6298ebe47d php-8.0.10]# cat /var/www/html/index.php<?php phpinfo(); ?>[root@0e6298ebe47d php-8.0.10]#[root@localhost src]# docker commit -c 'CMD ["/bin/bash","/scripts/start.sh"]' -p php8 pengyudong/php8:v1sha256:8ee4d3fb7bd27b0242cf096464932ff98fbc42d641d1f6b9cac7ddccb429f450[root@localhost src]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEpengyudong/php8 v1 8ee4d3fb7bd2 22 seconds ago 1.52GBpengyudong/mysql v1 9c8b9aa2d917 30 minutes ago 3.81GBpengyudong/nginx v1 2153a12060f6 About an hour ago 576MBcentos latest 5d0da3dc9764 2 months ago 231MB[root@localhost src]#5. 配置lnmp//配置nginx[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa116c2a489fe centos "/bin/bash" 28 minutes ago Up 28 minutes php816256ee64b9e centos "/bin/bash" 55 minutes ago Up 29 minutes mysql9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb…" 59 minutes ago Up 57 minutes blissful_perlman[root@localhost ~]# docker exec -it 9c129a20e7c7 /bin/bash[root@9c129a20e7c7 ~]# vi /usr/local/nginx/conf/nginx.conf...location / {root html;index index.php index.html index.htm; //加⼊index.php}...location ~ \.php$ {root /var/www/html; //修改fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $Document_root$fastcgi_script_name; //修改include fastcgi_params;}...[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa116c2a489fe centos "/bin/bash" 35 minutes ago Up 35 minutes php816256ee64b9e centos "/bin/bash" About an hour ago Up 36 minutes mysql9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb…" About an hour ago Up 46 seconds blissful_perlman[root@localhost ~]# docker commit -c 'CMD ["/usr/local/nginx/sbin/nginx"]'-p 9c129a20e7c7 pengyudong/nginx:v2sha256:8ca4733bb94edf9dac98982610e626b663052000d2c165127e257eeebec34027[root@localhost ~]#sha256:dd9ec3401a3df247bc19cb792a076cfa915e67cb88fdbdfbf2284bbda6ac9a78[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEpengyudong/nginx v2 dd9ec3401a3d 7 seconds ago 576MBpengyudong/php8 v1 8ee4d3fb7bd2 8 minutes ago 1.52GBpengyudong/mysql v1 9c8b9aa2d917 38 minutes ago 3.81GBpengyudong/nginx v1 2153a12060f6 About an hour ago 576MBcentos latest 5d0da3dc9764 2 months ago 231MB[root@localhost ~]#//配置php[root@localhost ~]# docker exec -it php8 /bin/bash[root@a116c2a489fe /]# mkdir -p /var/www/html[root@a116c2a489fe /]# vi /var/www/html/index.php[root@a116c2a489fe /]# cat /var/www/html/index.php<?phpphpinfo();>[root@a116c2a489fe /]#[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa116c2a489fe centos "/bin/bash" 37 minutes ago Up 37 minutes php816256ee64b9e centos "/bin/bash" About an hour ago Up 38 minutes mysql9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb…" About an hour ago Up 3 minutes blissful_perlman[root@localhost ~]# docker commit -c 'CMD ["/bin/bash","/scripts/start.sh"]' -p php8 pengyudong/php8:v2sha256:6e582cd9d5e8ce4b91addb12e6a53a6e3f5cf762aabe2ce24e5f6396ec3f15ed[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEpengyudong/php8 v2 6e582cd9d5e8 8 seconds ago 1.52GBpengyudong/nginx v2 dd9ec3401a3d 2 minutes ago 576MBpengyudong/php8 v1 8ee4d3fb7bd2 10 minutes ago 1.52GBpengyudong/mysql v1 9c8b9aa2d917 40 minutes ago 3.81GBpengyudong/nginx v1 2153a12060f6 About an hour ago 576MBcentos latest 5d0da3dc9764 2 months ago 231MB[root@localhost ~]#//使⽤container模式使容器间通信[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa116c2a489fe centos "/bin/bash" 38 minutes ago Up 38 minutes php816256ee64b9e centos "/bin/bash" About an hour ago Up 40 minutes mysql9c129a20e7c7 pengyudong/nginx:v1 "/usr/local/nginx/sb…" About an hour ago Up 4 minutes blissful_perlman[root@localhost ~]# docker rm -f a116c2a489fe 16256ee64b9e 9c129a20e7c7a116c2a489fe16256ee64b9e9c129a20e7c7[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[root@localhost ~]#[root@localhost ~]# docker run --name nginx -dit -p 80:80 pengyudong/nginx:v2f64441e51181b9dc41806a9b1363a22ce28fd83f4cbd7f85df6eed88774a4197[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf64441e51181 pengyudong/nginx:v2 "/usr/local/nginx/sb…" 7 seconds ago Up 7 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp nginx [root@localhost ~]#[root@localhost ~]# docker run --name mysql -dit --net=container:f64441e51181 pengyudong/mysql:v196530de34b37a5fc6af1564df64f423321b04641f6aea5a3dd5be199f02a8510[root@localhost ~]# docker run --name php8 -dit --net=container:f64441e51181 pengyudong/php8:v227834149fc66f007ba1cca5d298351d39f7d819af3f1ec6fcf8e12bbdc39fb4d[root@localhost ~]#[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27834149fc66 pengyudong/php8:v2 "/bin/bash /scripts/…" 29 seconds ago Up 28 seconds php8 96530de34b37 pengyudong/mysql:v1 "/scripts/start.sh" About a minute ago Up About a minute mysqlf64441e51181 pengyudong/nginx:v2 "/usr/local/nginx/sb…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx [root@localhost ~]# docker exec -it nginx /bin/bash[root@f64441e51181 /]# ss -antlState Recv-Q Send-Q Local Address:Port Peer Address:Port ProcessLISTEN 0 128 127.0.0.1:9000 0.0.0.0:*LISTEN 0 128 0.0.0.0:80 0.0.0.0:*LISTEN 0 80 *:3306 *:*[root@f64441e51181 /]#到此这篇关于docker容器搭建lamp架构的⽂章就介绍到这了,更多相关docker搭建lamp内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

源码搭建LNMP环境及搭建discuz论坛-zz

源码搭建LNMP环境及搭建discuz论坛-zz

1:首先安装如下rpm包,以满足LNMP环境需求。

Yum -y install libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel openssl-devel libtool-ltdl-devel gcc* openssl* libxml*( libjpeg-devel ,libpng-devel ,libtiff-devel ,fontconfig-devel ,freetype-devel,libXpm-devel 这些都是图片与字体相关的开发包,为了使 php 可以对其做更好的支持。

gettext 是语言相关的一个函数库。

openssl-devel 是一套工具,用于生成 X.509 协议中所使用的密钥,公钥等文件。

libtool 是一个通用库支持脚本,在 php 编译过程中会需要使用到。

)2安装nginx(1)先要安装pcre,系统自带的pcre版本过低,不能满足我们的需求。

pcre 是一个正则表达式相关的包,要想Nginx使用Rewrite,那么就需要正则的支持。

tar xf pcre-8.10.tar.gzcd pcre-8.10./configuremake && make install(2)编译安装NginxUseradd nginxtar xf nginx-0.7.67.tar.gz cd nginx-0.7.67./configure --user=nginx --group=nginx --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-sha1=/usr/libmake && make install--user与--group的参数指定Nginx运行时的所有者,以提高安全性。

docker搭建lnmp环境的方法步骤

docker搭建lnmp环境的方法步骤

docker搭建lnmp环境的⽅法步骤创建项⽬⽬录mkdir php创建如下项⽬结构sites ⽬录放置项⽬⽂件services ⽬录放置服务相关配置script 放置⾃定义脚本├── Readme.md├── docker-compose.yml├── script├── services│├── mariadb││└── Dockerfile│├── nginx││├── Dockerfile││├── conf.d│││└── default.conf││└── nginx.conf│├── php││└── Dockerfile│└── redis│└── Dockerfile└── sites├── index.html└── index.php8 directories, 10 files编辑docker-compose⽂件version: "3"services:php:build: ./services/php# ports:# - "9001:9000"container_name: lnmp-phprestart: alwaysvolumes:- ./sites:/wwwnetworks:lnmp_net:ipv4_address: 101.11.11.10nginx:build: ./services/nginxports:- "81:80"- "444:443"container_name: lnmp-nginxrestart: alwaysvolumes:- ./sites:/www- ./services/nginx/nginx.conf:/etc/nginx/nginx.conf- ./services/nginx/conf.d:/etc/nginx/conf.d:rwnetworks:lnmp_net:ipv4_address: 101.11.11.11networks:lnmp_net:driver: bridgeipam:config:- subnet: 101.11.11.0/20编辑services/nginx⽂件FROM nginx:1.17.0-alpine# 更新安装源RUN sed -i 's///g' /etc/apk/repositories# 设置时区为上海RUN apk update && apk add --upgrade \&& apk add tzdata \&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo "Asia/Shanghai" > /etc/timezone \&& apk del tzdata编辑services/php⽂件FROM php:7.3.6-fpm-alpine3.9# 更新安装源RUN sed -i 's///g' /etc/apk/repositories# 设置时区为上海RUN apk update && apk add --no-cache tzdata autoconf gcc g++ make zlib-dev curl-dev\ && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo "Asia/Shanghai" > /etc/timezone \&& apk del tzdata \&& docker-php-ext-install mysqli pdo_mysql opcache \&& pecl install grpc protobuf xdebug yaf yar swoole \&& docker-php-ext-enable xdebug yaf yar swoole grpc protobuf以上我们的lnmp环境基本搭建完毕,下⾯我们针对Php解析做相关的配置修改services/nginx/nginx.conf,可根据需求⾃⾏修改user nginx;worker_processes auto;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events {worker_connections 1024;}http {include /etc/nginx/mime.types;default_type application/octet-stream;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 on;#tcp_nopush on;keepalive_timeout 65;#gzip on;include /etc/nginx/conf.d/*.conf;}修改services/nginx/conf.d⽬录下⽂件该⽬录是各个项⽬的配置⽂件,可根据需求配置单个或多个服务server {listen 80;server_name localhost;#charset koi8-r;#access_log /var/log/nginx/host.access.log main;#root /usr/share/nginx/html;root /www;index index.php index.html index.htm;#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {# root html;fastcgi_pass 101.11.11.10:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}启动服务cd php && docker-compose up --build -d以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

CentOS 7源码编译安装最新版php5.6和nginx1.7.9及mysql(搭建lnmp环境) – 飞嗨

CentOS 7源码编译安装最新版php5.6和nginx1.7.9及mysql(搭建lnmp环境) – 飞嗨

CentOS 7源码编译安装最新版php5.6和nginx1.7.9及mysql(搭建lnmp环境) –飞嗨突然,一不留神打开了网站,点了一下download,靠,都已经php5.6 stable了,而我yum安装的php还是5.4版本的,太守旧了!嘿嘿,我是微软云的小白鼠,当年就多注册了个账号,还躺着个云服务器在睡觉呢,于是乎,私心想着搭建一个lnmp的备份服务器…源码编译安装,各种依赖包纠结,所以呢,mariadb(mysql)是yum安装的,php5.6和nginx1.7.9是源码安装的…装着装着,在跑./configure脚本的时候,又忘记启用enable curl等等常用扩展鸟,装完后,又去源码目录编译扩展,动态添加扩展…lnmp一、安装mariadb(mysql)服务yum install mariadb mariadb-server mariadb-devel自从mysql被oracle公司收购后,mysql就有闭源收费的风险,所以,就有了社区版改装的mysql分支mariadb来规避这个风险。

centos7开始,yum源的mysql全部都替换成mariadb的了。

所以,mariadb是mysql的一个分支。

不过貌似听说,google有一部分数据库也都已经迁移到mariadb 了,真是要鄙视一下oracle公司,oracle数据库都这么赚了,还打着mysql的主意…二、源码编译安装php5.61.下载php5.6 wget/distributions/php-5.6.5.tar.gz纠结的是,刚安装好的centos 7连wget都木有,所以yum -y install wget然后再下载,,,2.解压tar -xvzf php-5.6.5.tar.gz 进入cd php-5.6.53.运行./configure脚本,启用需要的扩展模块,并指定php的安装目录 ./configure –enable-fpm –enable-mbstring–with-mysql=mysqlnd –with-mysqli=mysqlnd–with-pdo-mysql=mysqlnd这一步很是关键的,我忘记指定–prefix,它默认也是给我安装在/usr/local/php,不过还是指定一下比较妥当。

CentOS7搭建LNMP

CentOS7搭建LNMP

安装 PHP-FPM
yum install php55w-fpm
yum install php56w-fpm
yum install php70w-fpm
systemctl enbale php-fpm.service //开机自启动
安装 MySQL
依赖检查
yum search libaio //MySql 依赖 libaio
更换 rpm 源
rpm -Uvh https:///yum/el7/epel-release.rpm
rpm -Uvh https:///yum/el7/webtatic-release.rpm
安装php5.5
yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64
// PHP 在 5.3.3 之后已经将php-fpm写入 PHP 源码核心了,之前在安装 PHP 的时候,已将 php-fpm 进行了安装
其他命令
// 代码块中添加换行:每行前后添加两个空格
systemctl start/stop/restart firewalld.service
// 开启/停止/重启 防火墙
// 查看 8080 端口的使用情况
// 新建可以在任意 ip 访问的账号
grant select,insert,update,delete on *.* to 'sa'@'%';

CentOS6.5下搭建LAMP环境(源码编译方式)

CentOS6.5下搭建LAMP环境(源码编译方式)

CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP 等。

这里我介绍一下LAMP环境的搭建,即Linux、Apache、MySQL 、PHP环境。

一、首先安装操作系统操作系统:centos6.5操作系统安装步骤,此处不再详述。

备注:服务器系统采用最小化安装,安装一下GCC编译工具和一个桌面即可。

如下图所示:由于安装系统的时候我是最小化安装,只安装了一个桌面,GCC编译工具也是系统装完之后安装的,所以没有默认的LAMP环境,如下图示:如果安装的时候有选择默认全部安装,就已经安装了LAMP环境,但是相对版本较低,而且安装的路径等可能不是我们想要的结果。

所以这里顺便介绍一下,如果存在默认的LAMP环境,进行卸载的方法,以apache为例:#rpm -qa | grep -i httd // 查询系统中已安装的Apache相关软件包#service httpd stop //如果apache已开启,停止运行apache服务器#rpm -e httpd-xxx --nodeps //卸载apache服务器php、mysql卸载方法同上。

【搭建LAMP环境须知】搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装。

但是在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt,以及GD2库等文件。

安装GD2库是为了让PHP5支持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。

而且中间还会穿插安装一些软件。

二、LAMP安装前的准备1、获取软件包httpd-2.4.9.tar.gz /mysql-5.7.4.tar.gz /downloads/php-5.5.14.tar.gz /downloads.phpphpMyAdmin-4.2.5-all-languages.tar.gz /home_page/downloads.phplibxml2-2.9.0.tar.gz ftp:///libxml2/libmcrypt-2.5.8.tar.gz ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libgd-2.1.0.tar.gz https:///libgd/gd-libgd/downloadszlib-1.2.8.tar.gz autoconf-2.69.tar.gz /gnu/autoconf/freetype-2.5.3.tar.gz /releases/freetype/libpng-1.6.12.tar.gz ftp:///pub/libpng/png/src/jpegsrc.v9a.tar.gz /files/ZendGuard-5_5_0.tar.gz /en/products/guard/thank-you-zend-guard?package=415apr-1.5.1.tar.gz /download.cgiapr-util-1.5.3.tar.gz /download.cgipcre-8.35.zip /projects/pcre把上面下载的16个源代码包放到linux系统下的/usr/local/src/LAMP目录中2、编译工具安装如果安装系统的时候已经安装了GCC编译工具,则显示上图中的信息,如果没有安装,可以使用下面的方法进行安装:检查是否安装:[root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libaio备注:安装libpng时候需要zlib-devel安装mysql时候需要libaio如果没安装则yum安装:[root@centos6 ~]# yum -y install make gcc gcc-c++ zlib-devel libaio3、配置防火墙,开启80端口、3306端口编辑/etc/sysconfig/iptables文件,配置防火墙[root@centos6 ~]# vi /etc/sysconfig/iptables添加下面两句,开启相应端口:-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面如下所示:######################## 添加好之后防火墙规则如下所示######################### Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT######################## 添加好之后防火墙规则如上所示########################最后重启防火墙使配置生效[root@centos6 ~]# /etc/init.d/iptables restart4、关闭SELINUX编辑/etc/selinux/config文件[root@centos6 ~]# vi /etc/selinux/config详细修改如下所示:#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq #保存,关闭[root@centos6 ~]#shutdown -r now #重启系统三、开始搭建LAMP环境安装时的主要步骤:(1)解压tar.gz为后缀的压缩包软件LAMP环境搭建所需要的每个软件的源代码文件,都是以.tar.gz提供给我们的打包压缩文件,所以我们必须将其解压再解包。

银河麒麟环境下lamp环境搭建实践

银河麒麟环境下lamp环境搭建实践

银河麒麟环境下lamp环境搭建实践银河麒麟环境下LAMP环境搭建实践话题一:银河麒麟操作系统在互联网时代,服务器操作系统的选择对企业的业务发展起着至关重要的作用。

作为一款国产操作系统,银河麒麟凭借其稳定性、安全性和高度定制化的特点,备受企业和个人用户的青睐。

银河麒麟操作系统为用户提供了一个强大的评台,以进行服务器端应用的开发和部署。

在这样的操作系统环境下,LAMP(Linux+Apache+MySQL+PHP)是一套经典的Web服务器架构,为开发人员和运维人员提供了一个稳定而且灵活的开发环境。

话题二:LAMP环境概述LAMP环境是指以Linux作为操作系统、Apache作为Web服务器、MySQL作为数据库系统、PHP(或Python)作为服务器端脚本语言的一套完整的开发环境。

它已经成为了互联网应用开发、服务器端应用部署和运维的标准选择。

在银河麒麟环境下搭建LAMP环境,可以充分利用操作系统的性能优势,提高系统的稳定性和安全性。

接下来,我们将从简到繁地介绍在银河麒麟环境下如何搭建LAMP环境,帮助您更深入地理解这一过程。

第一步:安装Linux操作系统在银河麒麟环境下搭建LAMP环境的第一步,是安装Linux操作系统。

银河麒麟操作系统自带了多种常用的开发工具和系统服务,为用户提供了一个友好的开发环境。

用户可以通过简单的操作,快速完成操作系统的安装和初始化配置。

第二步:配置Apache Web服务器一旦Linux操作系统安装完成,接下来就是配置Apache Web服务器。

在银河麒麟环境下,用户可以通过软件包管理器或者源码安装的方式,快速地部署和配置Apache服务器。

Apache服务器作为LAMP环境的核心组件,承担着接收用户请求、处理动态页面、静态资源等任务,是整个系统中的关键部分。

第三步:安装MySQL数据库系统在搭建LAMP环境时,MySQL是必不可少的一部分。

在银河麒麟环境下,用户可以通过官方软件源或者源码安装的方式,快速地配置MySQL数据库系统。

k8s经典实战—搭建WordPress

k8s经典实战—搭建WordPress

k8s经典实战—搭建WordPressk8s经典实战—搭建WordPress说明:需要在k8s上部署lnmp环境,建议跟着步骤来端⼝最好不要改,希望你也能搭建成功,完成这个搭建后你对Kubernetes的技术基本上是⼊门了。

⾸先看下效果图:⼀、部署存储⽤户持久化存储fdisk -lfdisk /dev/vdbmkdir /u01pvcreate /dev/vdb1vgcreate vg0 /dev/vdb1lvcreate -L 99G -n oralv vg0mkfs.ext4 /dev/vg0/oralvmount /dev/vg0/oralv /u01/echo "/dev/vg0/oralv /u01 ext4 defaults 0 0" >>/etc/fstab⽤df -h 命令查看:2、搭建NFS共享存储2.1 nfs服务端yum install nfs-utils -ymkdir -pv /u01/nps/volumesvim /etc/exports/u01/nps/volumes 172.31.182.0/24(rw,no_root_squash)systemctl start nfs查看服务是否开启2.2 创建nps挂载⽬录mkdir -pv /u01/nps/volumes/data{mysql,nginx}2.3 nfs客户端(k8s的node节点都需要安装)yum install nfs-utils -y#验证是否可以访问nfs服务端[root@node01 ~]# showmount -e 172.31.182.145Export list for 172.31.182.145:/u01/nps/volumes 172.31.182.0/24[root@node01 ~]# mount -t nfs 172.31.182.145:/u01/nps/volumes /mntecho "172.31.182.145:/u01/nps/volumes /mnt nfs defaults 0 0" >>/etc/fstab⼆、创建pv[root@master Dockerfile-lnmp]# cat pv.yamlapiVersion: v1kind: PersistentVolumemetadata:name: mysql-pvspec:capacity:storage: 20GiaccessModes:- ReadWriteManynfs:path: /u01/nps/volumes/data/mysqlserver: 172.31.182.145---apiVersion: v1kind: PersistentVolumemetadata:name: wp-pv01spec:capacity:storage: 5GiaccessModes:- ReadWriteManynfs:path: /u01/nps/volumes/data/nginxserver: 172.31.182.145---apiVersion: v1kind: PersistentVolumemetadata:name: wp-pv02spec:capacity:storage: 5GiaccessModes:- ReadWriteManynfs:path: /u01/nps/volumes/data/nginxserver: 172.31.182.145创建pv:kubectl apply -f pv.yaml三、部署mysql3.1 创建mysql-deployment[root@master Dockerfile-lnmp]# cat mysql-deployment.yaml apiVersion: v1kind: Servicemetadata:name: wordpress-mysqllabels:app: wordpressspec:ports:- port: 3306selector:app: wordpresstier: mysql---apiVersion: v1kind: PersistentVolumeClaimmetadata:name: mysql-pv-claimlabels:app: wordpressspec:accessModes:- ReadWriteManyresources:requests:storage: 20Gi---apiVersion: apps/v1beta2kind: Deploymentmetadata:name: wordpress-mysqllabels:app: wordpressspec:selector:matchLabels:app: wordpresstier: mysqlstrategy:type: Recreatetemplate:metadata:labels:app: wordpresstier: mysqlspec:containers:- name: mysqlspec:containers:- name: mysqlimage: mysql:5.6env:- name: MYSQL_ROOT_PASSWORDvalueFrom:secretKeyRef:name: mysql-passkey: passwordports:- containerPort: 3306name: mysqlvolumeMounts:- mountPath: "/var/lib/mysql"name: mysql-datavolumes:- name: mysql-datapersistentVolumeClaim:claimName: mysql-pv-claim创建mysql容器:kubectl apply -f mysql-deployment.yaml3.2 通过secret创建mysql密码kubectl create secret generic mysql-pass --from-literal=password=123456四、上传镜像到Harbor4.1 构建nginx镜像并上传[root@master nginx]# docker build -t 172.31.182.143/dev/nginx:latest .[root@master nginx]# docker push 172.31.182.143/dev/nginx:latest4.2 构建php镜像并上传[root@master php]# docker build -t 172.31.182.143/dev/php:latest .[root@master php]# docker push 172.31.182.143/dev/php:latest4.3 kubernetes配置Harbor仓库kubectl create secret docker-registry regcred --docker-server=172.31.182.143 --docker-username=admin --docker-password=Harbor%12345 --docker-email=admin@注意!!上述由于没有指定namespace默认会在default命名空间下创建secret,如果是别的ns需在后⾯指定如:-n test 否则test命名空间下的pod仍然⽆法拉取私有仓库镜像。

Debianlinux(Kali)手动搭建web服务器(LNMP)教程

Debianlinux(Kali)手动搭建web服务器(LNMP)教程

Debianlinux(Kali)⼿动搭建web服务器(LNMP)教程⼀.下载安装Vmware Debian Linux或者Kali虚拟机.这部分内容⽹上很多博主写的⼗分详细,在此不再赘述。

我安装后的Kali界⾯如下:⼆.下载安装nginx,php-fpm和php-mysql.先⽤sudo su命令切换到root⽤户,避免某些命令权限不够。

1.下载nginx:apt install nginx我的版本:1.18.0-6.1,这⼀步下载成功会在/etc下创建nginx⽂件夹,nginx内容如下:安装完成后可⽤systemctl status nginx命令查看nginx状态。

这⼀步做完后就能利⽤nginx搭建简单的服务器了:⾸先要配置防⽕墙(打开80端⼝等),可⽤UFW防⽕墙来管理。

UFW下载:apt install ufw.配置防⽕墙命令:ufw allow 'Nginx Full'.然后开启nginx服务器:systemctl start nginx.查看本机ip地址:ip addr show.在虚拟机的浏览器中输⼊ip地址即可看到默认页⾯:(这个是我改过的页⾯)。

你可以通过修改/var/www/index.html⽂件来修改上图显⽰的页⾯。

⾄此,我们搭建了⼀个简单的web服务器,它可以显⽰特定的静态页⾯。

但这个服务器与我们⽇常浏览的⽹页服务器相⽐有以下⼏个缺点:(1).外⽹(⽐如你的⼿机,本机浏览器)不能访问此页⾯;(2).只能显⽰特定页⾯,不能根据我们的输⼊返回不同页⾯;下⾯是解决⽅案:针对(1)我们要⽤到,我⽤的是进⼊页⾯后完成注册和实名验证,然后点击购买隧道-免费隧道-免费购买,完成后页⾯下⽅会得到⼀个authtoken,⽤来在natapp客户端验证。

然后下载natapp客户端,更改natapp权限chmod 777 natapp,启动natapp./natapp -authtoken=xxxxx.弄完之后第⼀个问题就解决了。

最新超详细Linux下LNMP环境搭建

最新超详细Linux下LNMP环境搭建

最新超详细Linux下LNMP环境搭建⼀、了解LNMP系统当前两个主要应⽤的架构:LNMP和LAMP,都是指⼀组通常⼀起使⽤来运⾏动态⽹站或者服务器的⾃由软件名称。

LAMP的全称是:Linux + Apache + Mysql + PHP。

LNMP的全称是:Linux + Nginx + Mysql + PHP/Perl/Python⼆、下载LNMP架构在这⾥我推荐直接去官⽹下载,⾥⾯有安装的各种注意事项和安装包不同版本的下载,需要什么下载什么,还有⼀些问题的解决官⽹地址:三、安装LNMP架构1. 环境 虚拟机:VMware 15.0.1 Linux系统:CentOS 6.52. 安装步骤(稳定版本)注意:如需⽆⼈值守安装,请使⽤,或点击“⽆⼈值守命令⽣成⼯具”,⽣成命令:wget /lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8 && LNMP_Auto="y" DBSelect="2" DB_Root_Password="" InstallInnodb="y" PHPSelect="5" SelectMalloc="1" ./install.sh lnmp如需要安装LNMPA或LAMP,将./install.sh 后⾯的参数lnmp替换为lnmpa或lamp即可。

同时也⽀持单独安装Nginx或数据库,命令为 ./install.sh nginx 或 ./install.sh db。

如需更改⽹站和数据库⽬录、⾃定义Nginx参数、PHP参数模块、开启lua等需在运⾏./install.sh 命令前修改安装包⽬录下的 lnmp.conf ⽂件,详细可以查看。

使用Python编写一个简单的Web应用程序并部署到云服务器

使用Python编写一个简单的Web应用程序并部署到云服务器

第一部分:搭建开发环境在开始编写Python Web应用程序之前,您需要搭建一个合适的开发环境。

以下是搭建开发环境的步骤:安装Python解释器:从官方网站下载Python解释器,并按照安装向导完成安装。

安装虚拟环境:为了避免全局安装Python库可能带来的冲突,您可以安装虚拟环境。

使用以下命令创建并激活一个虚拟环境:bashpython -m venv myenvsource myenv/bin/activate安装代码编辑器:选择一个合适的代码编辑器,如Visual Studio Code或PyCharm,用于编写Python代码。

第二部分:安装必要的Python库在编写Web应用程序之前,您需要安装一些必要的Python库。

以下是安装Python库的步骤:Flask:Flask是一种流行的Python Web框架,您可以使用以下命令安装Flask:pip install flaskWTForms:WTForms是一个Python表单库,用于处理Web表单,您可以使用以下命令安装WTForms:pip install wtforms第三部分:编写Web应用程序在完成环境设置和Python库安装之后,您可以开始编写Python Web应用程序。

以下是编写Web应用程序的步骤:导入必要的库:在Python代码中导入必要的库,如Flask和WTForms。

javascriptfrom flask import Flask, render_templatefrom wtforms import StringField, SubmitFieldfrom wtforms.validators import DataRequired创建Flask应用程序:使用以下代码创建一个Flask应用程序:scssapp = Flask(__name__)app.config['SECRET_KEY'] = 'secret_key'创建Web表单:使用WTForms创建一个Web表单,如下所示:scssclass NameForm(FlaskForm):name = StringField('Name', validators=[DataRequired()])submit = SubmitField('Submit')创建路由:在Flask应用程序中创建一个路由,用于处理Web请求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于安全与优化的LNMP一系统安装为了安全,减少系统漏洞,所以最小化安装系统二搭建LNMP环境1 安装nginx需要的软件包:libtool-ltdl-devellibjpeg-devellibpng-devellibtiff-develfontconfig-develfreetype-devellibXpm-develgettext-developenldap-serversopenssl-devellibX11-devellibgcjlibXau-devellibXdmcp-develxorg-x11-proto-develmesa-libGL-devel安装pcre-8.10[root@server lnmp]#tar zxvf pcre-8.10.tar.bz2 [root@server lnmp]#cd pcre-8.10[root@server lnmp]#./configure && make && make install 安装nginx[root@server lnmp]#useradd nginx[root@server lnmp]# tar xf nginx-0.8.46.tar.gz[root@server lnmp]# cd nginx-0.8.46[root@server nginx-0.8.46]# ./configure \--user=nginx \--group=nginx \--prefix=/usr/local/nginx/ \--with-http_stub_status_module \--with-http_ssl_module[root@server nginx-0.8.46]# make && make install2 编译安装mysql[root@server lnmp]# tar xf mysql-5.1.49.tar.gz[root@server lnmp]# cd mysql-5.1.49[root@server mysql-5.1.49]# ./configure \"--prefix=/usr/local/mysql" \"--localstatedir=/var/lib/mysql/" \"--enable-assembler" \"--with-extra-charsets=all" \"--enable-thread-safe-client" \"--with-client-ldflags=-all-static" \"--with-mysqld-ldflags=-all-static" \"--without-debug" \"--with-big-tables" \"--without-debug" \"--with-ssl"[root@server mysql-5.1.49]# make && make install[root@server mysql-5.1.49]# useradd mysql[root@server mysql-5.1.49]# /usr/local/mysql/bin/mysql_install_db --user=mysql [root@server ~]# cd /usr/local/mysql[root@server mysql]# chown -R root:mysql .[root@server mysql]# chown mysql. /var/lib/mysql -R[root@server mysql]# cp share/mysql/f /etc/f[root@server mysql]# cp share/mysql/mysql.server /etc/init.d/mysqld[root@server mysql]# chmod 755 /etc/init.d/mysqld[root@server mysql]# chkconfig --add mysqld[root@server mysql]# service mysqld start[root@server mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc [root@server mysql]# . ~/.bashrcmysql安装配置完成之后,可以根据实际情况,对mysql做下优化。

3. 编译安装php需要用到的包:libiconvlibmcryptlibltdlmhashspawn-fcgilibevent[root@server libiconv-1.13.1]# ./configure --prefix=/usr[root@server libiconv-1.13.1]# make && make install编译安装libmcrypt:[root@server libmcrypt-2.5.7]# ./configure --prefix=/usr[root@server libmcrypt-2.5.7]# make && make install编译安装mhash:[root@server mhash-0.9.9.9]# ./configure --prefix=/usr/local/mhash [root@server mhash-0.9.9.9]# make && make install编译安装spawn-fcgi:[root@server spawn-fcgi-1.6.3]# ./configure[root@server spawn-fcgi-1.6.3]# make && make install编译安装ibevent:[root@server libevent-1.4.14b-stable]# ./configure --prefix=/usr [root@server libevent-1.4.14b-stable]# make && make install编译安装php:[root@server php-5.2.14]# ./configure \"--prefix=/usr/local/php" \"--enable-fastcgi" \"--enable-fpm" \"--enable-discard-path" \"--enable-force-cgi-redirect" \"--with-config-file-path=/usr/local/php/etc" \"--with-mysql=/usr/local/mysql" \"--with-mysqli=/usr/local/mysql/bin/mysql_config" \"--with-iconv-dir=/usr" \"--with-freetype-dir" \"--with-jpeg-dir" \"--with-png-dir" \"--with-gd" \"--with-zlib" \"--with-libxml-dir" \"--with-curl" \"--with-curlwrappers" \"--with-openssl" \--with-mhash=/usr/local/mhash/ \"--with-xmlrpc" \"--with-mcrypt" \"--with-ldap" \"--with-ldap-sasl" \"--enable-xml" \"--disable-rpath" \"--enable-discard-path" \"--enable-safe-mode" \"--enable-bcmath" \"--enable-shmop" \"--enable-sysvsem" \"--enable-inline-optimization" \"--enable-mbregex" \"--enable-mbstring" \"--enable-gd-native-ttf" \"--enable-ftp" \"--enable-pcntl" \"--enable-sockets" \"--enable-zip" \"--disable-debug" \"--disable-ipv6"[root@server php-5.2.14]# make ZEND_EXTRA_LIBS='-liconv'[root@server php-5.2.14]# make install[root@server php-5.2.14]# cp php.ini-dist /usr/local/php/etc/php.ini其中"--enable-discard-path" 打开这个选项,用户就不能透过浏览器读取.htaccess等和系统安全相关的文件。

"--enable-force-cgi-redirect" 若使用CGI VERSION 模式来执行PHP 的设,打开本选项会增加安全性。

例如用户读http://my.host/cgi-bin/php/secret/doc.html 遇到比较了解PHP 系统的黑客级用户可能会自已输入以下网址http://my.host/secret/doc.html 来读取相关信息。

相关文档
最新文档