Linux(CentOS 7)+ Nginx(1.10.2)+ Mysql(5.7.16)+ PHP(7.0.12)完整环境搭建
首先安装Linux系统,我以虚拟机安装来做示例,先去下载 VitualBox,这是一款开源的虚拟机软件,https://www.virtualbox.org 官网地址。或者是VMware,www.vmware.com,不过这个软件是收费的。当然同时还要去下载一个Linux镜像,我下载是CentOS 7系统,https://www.centos.org/download
下载好了之后打开虚拟机,我用的是VMware,选择创建自定义虚拟机:
继续下一步:
点击完成。
看到这个界面后,点击CD/DVD(IDE):
点击选择光盘镜像,把下载好的Centos 7 系统放进去:
接着回到上个页面,点击启动磁盘:
选择CD/DVD,然后点击重新启动:
可以看到已经载入镜像文件,选择第一个安装:
选择语言,继续,
这玩意得先点进去,然后保存下,
要上网的同志不要忘记开启网络了:
这个时候就开始安装了,安装的同时把root密码和用户账号密码设置下:
设置完成后,我们就可以耐心的等待了……
OK,重启系统,登录root账户,也可以登录你自己设置好的用户账户,是不是很酷炫。
先看下网络有没有问题,输入ping www.baidu.com,看到网络可以正常访问:
如果不能正常访问网络,修改ifcfg文件,把ONBOOT="no" 改为 "yes",保存即可。
[root@ ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
重启下网络:
systemctl restart network.service
查看ip地址,输入ip addr,红色部分可以直接在浏览器里访问到,如下图:
ok,没有问题,接下来你就可以安装各种软件了……当然,我们先做正事,开始安装PHP,先去PHP官网上下载压缩包:
选择一个版本,然后复制链接地址,在命令行输入:
wget http://hk1.php.net/get/php-7.0.12.tar.gz/from/this/mirror
提示找不到wget命令,先下载wget:
yum install wget
安装完成后在执行:
wget http://hk1.php.net/get/php-7.0.12.tar.gz/from/this/mirror
看到已经下载好到目录下了:
接下来再解压,输入:
tar -zxvf mirror
解压好后再进入到 http://php.net/manual/zh/install.fpm.php 来安装php-fpm,因为现在的php还不能和nginx一起工作,只能和Apache工作,php-fpm是nginx和php的一个桥梁,所以
我们继续安装php-fpm。
先安装需要的编译工具 gcc,gcc++,libxml2-devel:
yum install gcc gcc-c++ libxml2-devel
进入到php目录下进行编译和安装:
cd php-7.0./ //进入php目录下
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7 --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --enable-fpm --enable-libxml //这里选择要安装的php目录,后面参数是开启php-fpm,支持mysql等
make //进行编译
make install //进行安装
安装完成后进入到安装目录下:
cd /usr/local/php7/lib/php
php安装完成。
mysql的安装
首先创建一个名为mysql且没有登录权限
的用户和一个名为mysql的用户组:
groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16.tar.gz
安装mysql需要的编译工具:
yum -y install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
进入到mysql目录下进行编译和安装:
cd /mysql-5.7.
cmake -DCMAKE_STALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/mysql/data -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DENABLED_DOWNLOADS=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled
执行上面的配置命令的结果如下图所示:
测试发现编译MySQL5.7以及更高的版本时,都需要下载并引用或者直接安装boost库,否则在执行cmake
命令时会报如下错误:
-- Running cmake version 2.8.
-- Configuring with MAX_INDEXES = 64U
-- SIZEOF_VOIDP
-- MySQL 5.7. [MySQL版本]
-- Packaging as: mysql-5.7.-Linux-x86_64
-- Looked for boost/version.hpp in and
-- BOOST_INCLUDE_DIR BOOST_INCLUDE_DIR-NOTFOUND
-- LOCAL_BOOST_DIR
-- LOCAL_BOOST_ZIP
-- Could not find (the correct version of) boost. [关键错误信息]
-- MySQL currently requires boost_1_59_0 [解决办法] CMake Error at cmake/boost.cmake: (MESSAGE): [具体错误和解决方法]
You can download it with -DDOWNLOAD_BOOST= -DWITH_BOOST=<directory> This CMake script will look for boost in <directory>. If it is not there,
it will download and unpack it (in that directory) for you. If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80 Call Stack (most recent call first):
cmake/boost.cmake: (COULD_NOT_FIND_BOOST)
CMakeLists.txt: (INCLUDE) -- Configuring incomplete, errors occurred!
See also "/mydata/mysql-5.7.16/CMakeFiles/CMakeOutput.log".
只要将http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz下载下来,上传到/usr/local/boost,在执行命令:
cmake -DDOWNLOAD_BOOST= -DWITH_BOOST=/usr/local/boost
编译和安装:
make && make install
查看编译成功后的MySQL安装目录:
使用cd命令查看MySQL的安装目录/usr/local/mysql/
下面是否生成了相关目录文件(最重要的当然是bin、sbin和lib目录)。如果lib目录下面没有生成如图所示的.so动态库文件和.a静态库文件,那么说明安装不成功,需要重新编译安装。(即使成功了也可能会导致php进程无法找到mysql的相关库文件)。
然后把编译生成的my.cnf文件备份:
cp /etc/my.cnf /etc/my.cnf.bak
再修改my.cnf配置如下图:(具体路径根据你安装的目录为准)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL. [client]
port=
socket=/var/run/mysql/mysql.sock [mysqld] # Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at % of total RAM for dedicated server, else %.
# innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin # These are commonly set, remove the # and set as required.
user = mysql
basedir = /usr/local/mysql
datadir = /mydata/mysql/data
port=
server-id =
socket=/var/run/mysql/mysql.sock character-set-server = utf8
log-error = /var/log/mysql/error.log
pid-file = /var/log/mysql/mysql.pid
general_log =
skip-name-resolve
#skip-networking
back_log = max_connections =
max_connect_errors =
open_files_limit =
table_open_cache =
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 28M
key_buffer_size = 4M thread_cache_size = query_cache_type =
query_cache_size = 8M
query_cache_limit = 2M ft_min_word_len = log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = performance_schema =
explicit_defaults_for_timestamp #lower_case_table_names = myisam_sort_buffer_size = 8M
myisam_repair_threads = interactive_timeout =
wait_timeout = # Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= # Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES [mysqldump]
quick
max_allowed_packet = 16M [myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
将MySQL编译生成的bin目录添加到当前Linux系统的环境变量中:
echo -e '\n\nexport PATH=/usr/local/mysql/bin:$PATH\n' >> /etc/profile && source /etc/profile
创建MySQL数据库文件的存放路径以及相关安全配置
在Linux主机上创建一个目录/mydata/mysql/data
,用于存放MySQL的数据库文件。同时设置其用户和用户组为之前创建的mysql
,权限为777。这样其它用户是无法进行读写的,尽量保证数据库的安全。
mkdir -p /mydata/mysql/data && chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /mydata/mysql/data
chmod -R go-rwx /mydata/mysql/data
初始化MySQL自身的数据库
在MySQL安装目录的\bin\
路径下,执行mysqld命令,初始化MySQL自身的数据库。
cd /usr/local/mysql/bin
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/mysql/data
执行完后,通过 ls -lrt /mydata/mysql/data/
命令查看是否生成了MySQL自身的数据库文件。
创建MySQL日志存放目录以及设置开机启动
下面配置的MySQL日志存放目录以及权限都是根据前面my.cnf文件写的,也就是两者需要保持一致。
mkdir -p /var/run/mysql && mkdir -p /var/log/mysql
chown -R mysql:mysql /var/log/mysql && chown -R mysql:mysql /var/run/mysql #配置开机自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld #增加可执行权限
chkconfig --add mysqld #添加到sysV服务
chkconfig mysqld on
在完成上面的操作后,就可以正式使用MySQL服务了。启动MySQL进程服务的命令如下:
[root@ ~]# mysqld_safe --user=mysql --datadir=/mydata/mysql/data --log-error=/var/log/mysql/error.log &
[]
[root@ ~]# --23T04::.530315Z mysqld_safe Logging to '/var/log/mysql/error.log'.
--23T04::.563588Z mysqld_safe Starting mysqld daemon with databases from /mydata/mysql/data ######上面这条命令会在后台继续执行,所以直接回车并执行下面这条命令
[root@ ~]# service mysqld start
Starting MySQL SUCCESS!
使用 ps -ef | grep mysql 查看MYSQL服务端进程和端口监听情况:
[root@ ~]# ps -ef | grep mysql
root : pts/ :: /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/mydata/mysql/data --log-error=/var/log/mysql/error.log
mysql : pts/ :: /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/mydata/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysql/error.log --open-files-limit= --pid-file=/var/log/mysql/mysql.pid --socket=/var/run/mysql/mysql.sock --port=
root : pts/ :: grep --color=auto mysql
初始化MySQL数据库的root用户密码
和Oracle数据库一样,MySQL数据库也默认自带了一个root
用户(这个和当前Linux主机上的root用户是完全不搭边的),我们在设置好MySQL数据库的安全配置后初始化root用户的密码。配置过程中,一路输入y
就行了。这里只说明下MySQL5.7.16版本中,用户密码策略分成低级LOW
、中等MEDIUM
和超强STRONG
三种,推荐使用中等MEDIUM
级别!
[root@ ~]# mysql_secure_installation Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin? Press y|Y for Yes, any other key for No: y There are three levels of password validation policy: LOW Length >= 【只需要长度大于或等于8】
MEDIUM Length >= , numeric, mixed case, and special characters 【还需要包含数字、大小写和类似于@#%等特殊字符】
STRONG Length >= , numeric, mixed case, special characters and dictionary file 【还需要包含字典文件】 Please enter = LOW, = MEDIUM and = STRONG: y
将MySQL数据库的动态链接库共享至系统链接库
一般MySQL数据库还会被类似于PHP等服务调用,所以我们需要将MySQL编译后的lib库文件添加至当前Linux主机链接库/etc/ld.so.conf.d/
下,这样MySQL服务就可以被其它服务调用了。
[root@ ~]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf
[root@ ~]# ldconfig
[root@ ~]# ldconfig -v |grep mysql
ldconfig: 无法对 /libx32 进行 stat 操作: 没有那个文件或目录
ldconfig: 多次给出路径“/usr/lib”
ldconfig: 多次给出路径“/usr/lib64”
ldconfig: 无法对 /usr/libx32 进行 stat 操作: 没有那个文件或目录
/usr/local/mysql/lib:
libmysqlclient.so. -> libmysqlclient.so.20.3.
创建其它MySQL数据库用户
使用MySQL数据库root管理员用户登录MySQL数据库后,可以管理数据库和其他用户了。这里演示创建一个名为evai的MySQL用户(密码为@Typeusers2016.com)和一个名为typeusers的数据库。
[root@ ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7.-log Source distribution Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
######登录成功后,创建typecodes数据库,并设置字符集
mysql> CREATE DATABASE `typeusers` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; Query OK, row affected (0.01 sec)
######创建名为typecodes用户,并让它拥有typecodes数据库所有的权限
mysql> grant all privileges on typeusers.* to evai@localhost identified by '@Typeusers2016.com'; Query OK, rows affected, warnings (0.01 sec)
mysql> exit
Bye
ok,退出,然后用刚创建的用户登录到mysql:
[root@ ~]# mysql -uevai -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7.-log Source distribution Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
安装nginx
去官网 http://nginx.org 下载最新的稳定版本,复制链接:
下载并解压:
[root@ ~]# wget http://nginx.org/download/nginx-1.10.2.tar.gz
---- ::-- http://nginx.org/download/nginx-1.10.2.tar.gz
正在解析主机 nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 95.211.80.227
正在连接 nginx.org (nginx.org)|206.251.255.63|:... 已连接。
已发出 HTTP 请求,正在等待回应... OK
长度: (889K) [application/octet-stream]
正在保存至: “nginx-1.10..tar.gz” %[=================================================>] , .0KB/s 用时 18s -- :: (49.4 KB/s) - 已保存 “nginx-1.10..tar.gz” [/])
[root@172 ~]# tar -zxvf nginx-1.10.2.tar.gz #解压
在下载一个叫pcre的东东,PCRE 简介:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用的。Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要3秒,而使用pcre不到1秒。因此改用pcre来解决C语言中使用正则表达式的问题,简单来说可以进行URL重写,我们下载过来并解压
[root@ ~]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
[root@172 ~]# tar -zxvf pcre-8.39.tar.gz
进入到nginx文件夹目录下,编译安装:
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.39 #回车
make && make install
安装完成后进入 /usr/local/nginx 目录下,可以看到已经安装完毕:
[root@ nginx-1.10.]# cd /usr/local/nginx/
[root@ nginx]# ll
总用量
drwxr-xr-x. root root 10月 : conf
drwxr-xr-x. root root 10月 : html
drwxr-xr-x. root root 10月 : logs
drwxr-xr-x. root root 10月 : sbin
接下来启动nginx,看到nginx已经启动:
[root@ nginx]# cd sbin/
[root@ sbin]# ./nginx
[root@ sbin]# ps -aux |grep nginx
root 0.0 0.0 ? Ss : : nginx: master process ./nginx
nobody 0.0 0.1 ? S : : nginx: worker process
root 0.0 0.0 pts/ R+ : : grep --color=auto nginx
[root@ sbin]#
我们用curl http:/127.0.0.1 测试下是否已经可以看到信息:
[root@ nginx]# curl http://127.0.0.1
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 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 and
working. Further configuration is required.</p> <p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p>
</body>
</html>
没有问题,打开浏览器输入ip地址访问:
也是成功的,不过有些小伙伴会打不开,原因是防火墙开启了导致访问失败,CentOS 7默认使用的是firewall作为防火墙,我们输入 systemctl stop firewalld.service 把它关闭,再次访问浏览器就可以看到了。附上防火墙的命令:
systemctl start firewalld.service #启动firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
这个时候我们还不能访问php文件的网页的,因为nginx还无法解析它,这个时候该php-fpm大展身手了:
[root@ nginx]# cd /usr/local/php7/sbin/
[root@ sbin]# ll
总用量
-rwxr-xr-x. root root 10月 : php-fpm
[root@ sbin]# ./php-fpm
[-Oct- ::] ERROR: failed to open configuration file '/usr/local/php7/etc/php-fpm.conf': No such file or directory ()
[-Oct- ::] ERROR: failed to load configuration file '/usr/local/php7/etc/php-fpm.conf'
[-Oct- ::] ERROR: FPM initialization failed
提示找不到php-fpm.conf文件,进入到 /usr/local/php7/etc 查看,发现只有default文件,把它copy一份到当前目录下命名为php-fpm.conf
[root@ sbin]# cd /usr/local/php7/etc
[root@ etc]# ll
总用量
-rw-r--r--. root root 10月 : pear.conf
-rw-r--r--. root root 10月 : php-fpm.conf.default
drwxr-xr-x. root root 10月 : php-fpm.d
[root@172 etc]# cp php-fpm.conf.default php-fpm.conf
再次启动还是报错,发现conf.d目录下没有.conf后缀的文件,一样copy一份到该目录下改为www.conf ,再启动就成功了:
[root@ etc]# /usr/local/php7/sbin/php-fpm
[-Oct- ::] WARNING: Nothing matches the include pattern '/usr/local/php7/etc/php-fpm.d/*.conf' from /usr/local/php7/etc/php-fpm.conf at line .
[-Oct- ::] ERROR: No pool defined. at least one pool section must be specified in config file
[-Oct- ::] ERROR: failed to post process the configuration
[-Oct- ::] ERROR: FPM initialization failed
[root@ etc]# cd php-fpm.d
[root@ php-fpm.d]# ll
总用量
-rw-r--r--. root root 10月 : www.conf.default
[root@ php-fpm.d]# cp www.conf.default www.conf
[root@ php-fpm.d]# /usr/local/php7/sbin/php-fpm
[root@ php-fpm.d]# ps -aux | grep php-fpm
root 0.0 0.2 ? Ss : : php-fpm: master process (/usr/local/php7/etc/php-fpm.conf) nobody 0.0 0.2 ? S : : php-fpm: pool www nobody 0.0 0.2 ? S : : php-fpm: pool www root 0.0 0.0 pts/ R+ : : grep --color=auto php-fp [root@ php-fpm.d]#
然后打开编辑 /usr/local/nginx/conf/nginx.conf 文件,找到下面这段并改为如下图:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
再进入html目录下,创建一个test.php文件:
[root@ nginx]# cd html/
[root@ html]# ll
总用量
-rw-r--r--. root root 10月 : 50x.html
-rw-r--r--. root root 10月 : index.html
[root@ html]# vim test.php #输入
<?php
phpinfo(); #保存退出
[root@ html]# ../sbin/nginx -s reload #重新载入nginx
打开浏览器,输入你的ip地址:http://xxx.xxx.xx.xxx/test.php 访问:
至此,lnmp环境搭建完成。
Linux(CentOS 7)+ Nginx(1.10.2)+ Mysql(5.7.16)+ PHP(7.0.12)完整环境搭建的更多相关文章
- 话说Centos下nginx,php,mysql以及phpmyadmin的配置
大话centos下部署phalcon框架 Centos还是ubuntu? 当我沿用这个标题的时候,心里在想"我能说我之前用的windows吗?",windows下xampp,wam ...
- [转]linux CentOS 安装 Nginx
网上找的教程,一路走下来的,原文如下: 一.安装nginx 1.在nginx官方网站下载一个包,下载地址是:http://nginx.org/en/download.html 2.Wi ...
- 阿里云ECS+CentOS 7.0+Docker+Redmine环境搭建
前言 搭建Redmine环境可以选择使用分别安装Ruby+Rails+Redmine+MySQL的方式, 但是过程中需要解决各种扰人的依赖问题.Docker为我们提供的Plan B,方便,快捷. 安装 ...
- Linux (centos )下Nginx+PHP+MySQL配置——自己的lnmp配置
说明:所有软件都是从官网上下载最新版的stable版本 ##################### 获取最新源码包###################### #建立独立的webserver#mkdi ...
- linux CentOS 安装 nginx+tomcat+java+mysql运行环境
本文介绍了CentOS7 64 Java,Tomcat,MySQL,Maven热部署等服务器环境的搭建过程. 服务器: 已经将所需要的工具(Xshell,Xftp.FileZilla等sftp上传工具 ...
- [Linux] - CentOS 安装nginx
linux版本:CentOS 6.0+ 安装nginx方法: 1.下载nginx rpm包命令: wget http://nginx.org/packages/centos/6/noarch/RPMS ...
- linux CentOS 安装 nginx
官方网址:http://nginx.org/en/download.html 一.安装基础组件 yum install gcc-c++ yum install pcre yum install pcr ...
- Linux - CentOS 7 通过Yum源安装 MySql 5.7
添加MySQL Yum存储库 从官网下载最新的mysql源 官网地址:https://dev.mysql.com/downloads/repo/yum/ 选择并下载适用于平台的发行包. 然后,在Lin ...
- Linux centos VMware Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理
一.Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|x ...
随机推荐
- 选择标识符(identifier)
整数通常是标识列最好的选择,因为它们很快并且可以使用auto_increment:千万不要使用enum和set类型作为标识列:尽量避免使用字符串类型作为标识列,因为他们很消耗空间,并且通常比数字类型慢 ...
- ios开发Base64编码以及加密相关学习
一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只 ...
- ArcEngine 数据导入经验(转载)
转自原文ArcEngine 数据导入经验(转载) (一) GIS系统数据是基础,想必大家在做ArcEngine二次开发的过程中都会遇到向MDB和SDE写入数据的工作,我们将会通过几个篇幅,从大数据量导 ...
- LSH︱python实现局部敏感随机投影森林——LSHForest/sklearn(一)
关于局部敏感哈希算法.之前用R语言实现过,可是由于在R中效能太低.于是放弃用LSH来做类似性检索.学了python发现非常多模块都能实现,并且通过随机投影森林让查询数据更快.觉得能够试试大规模应用在数 ...
- JavaEE 三层架构的浅谈
三层架构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了“高内聚,低 ...
- Navigation Pane不能设置显示标题
https://msdn.microsoft.com/VBA/Word-VBA/articles/view-showheading-method-word https://social.msdn.mi ...
- 【t030】数字构造
Time Limit: 3 second Memory Limit: 256 MB [问题描述] 有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行 ...
- as.data.frame一定要小心的一个參数stringsAsFactors
假设说一个data.frame中的元素是factor.你想转化成numeric,你会怎么做?比方d[1,1]是factor 正确答案是 先as.character(x) 再as.numeric(x ...
- centos 软件安装的三种方式
Linux下面安装软件的常见方法: 1.yum 替你下载软件 替你安装 替你解决依赖关系 点外卖 缺少的东西 外卖解决 1).方便 简单2)没有办法深入修改 yum install -y tree 2 ...
- 使用Ant包装时,包javax.servlet.http有没有搞错
明确,出现此错误的原因是缺乏相应的jar包.详细原因因为servlet和JSP不是Java平台JavaSE(标准版)的一部分.而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的 ...