环境:centos6.4 min
#安装编译库及依赖模块
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
#上传需要的软件
#安装JDK与Tomcat
查看当系统JDK版本 java –version
#修改权限
chmod 777 jdk-6u41-linux-i586-rpm.bin
./jdk-6u41-linux-i586-rpm.bin
#可以不加
vi /etc/profile
#加入
JAVA_HOME=/usr/java/jdk1.6.0_41
CLASSPATH=.:JAVAHOME/libPATH=JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
#保存退出
:wq
#解压Tomcat
tar zxvf apache-tomcat-6.0.36.tar.gz
#安装Mysql
#是否已经安装了mysql数据库
rpm -qa | grep mysql
#卸载Mysql
rpm -e mysql
rpm -e --nodeps mysql
#可下载的版本
yum list | grep mysql
#安装Mysql
yum install -y mysql-server mysql mysql-deve
#查看
rpm -qi mysql-server
#启动mysql服务 首先会初始化配置
service mysqld start
#重启Mysql的服务
service mysqld restart
#开机自动启动
chkconfig --list | grep mysqld
chkconfig mysqld on
#为root账号设置密码
mysqladmin -u root password '123'
#登录Mysql
mysql -u root -p
show databases;
#查看配置
cat /etc/my.cnf
#数据库存放位置
cd /var/lib/mysql/
#mysql数据库日志
cat /var/log/mysqld.log
#查看端口
netstat –anp
#Mysql编码问题
#MySQL数据库默认的编码
character set :latin1
collation : latin1_swedish_ci
#查看当前编码
SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
#查看MySQL支持的编码
mysql> show character set;
#修改编码
vi /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set = utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
aaarticlea/png;base64,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" alt="" width="455" height="380" />
找到[mysqld]下增加(未测试)
CentOS 5之前版本
character-set-server=utf8
CentOS 6以上的版本
character-set-server=utf8
#修改一个已有数据库的编码
ALTER DATABASE linuxcast CHARACTER SET utf8 COLLATE utf8_general_ci;
#创建数据库的时候指定编码
CREATE DATABASE testDB
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
#查看编码
aaarticlea/png;base64,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" alt="" />
#重启MySQL服务
service mysqld restart
#防火墙端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables save
service iptables restart
service iptables stop
#设置mysql远程访问
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
flush privileges;
#安装Nginx
yum install wget
cd /opt
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8
./configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module
make && make install
配置参数:
--prefix=path 定义服务器保存文件的目录,默认为/usr/local/nginx
--sbin-path=path nginx执行文件名,默认为prefix/sbin/nginx
--conf-path=path 设置nginx.conf配置文件名,默认为prefix/conf/nginx.conf
--pid-path=path 设置nginx.pid文件名,它用来保存nginx主进程的进程ID,默认为prefix/logs/nginx.pid
--error-log-path=path 设置错误日志文件名,默认为prefix/logs/error.log
--http-log-path=path 设置HTTP请求日志文件名,默认为prefix/logs/access.log
--user-name=path 设置未授权用户名,默认为nobody
--group=name 设置组名,默认为未授权用户名
--with-select_module 编译或取消编译利用select()方法的模块
--with-poll_module 编译或取消编译利用poll()方法的模块
--without-http_gzip_module 取消编译HTTP服务器压缩响应的模块,需要zlip库
--without-http_rewrite_module 取消编译HTTP服务器重定向请求或修改请求URI地址的模块,需要PCRE库
--without-http_proxy_module 取消编译HTTP服务器代理模块
--with-http_ssl_module 编译添加对HTTPS协议的支持,需要OpenSSL库
--with-pcre=path 设置PCRE库的源代码路径,下载PCRE源码后解压缩到指定的path即可,剩下的交给nginx的./configure和make命令完成
--with-pcre-jit 编译PCRE库支持及时编译
--with-zlib=path 设置zlib库源代码的路径,同样下载zlib源码后解压到指定的path即可
--with-cc-opt=parameters 设置CFLAGS变量的额外参数
--with-ld-opt=parameters 设置链接时的额外参数--with-openssl=/usr/include #启用ssl
--with-pcre=/usr/include/pcre/ #启用正规表达式
--with-http_stub_status_module #安装可以查看nginx状态的程序
--with-http_memcached_module #启用memcache缓存
--with-http_rewrite_module #启用支持url重写===================================================================================
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/share \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/log/run/nginx.pid \
--lock-path=/var/log/lock/subsys/nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_perl_module \
--with-mail \
--with-mail_ssl_module
make
make install
编译选项参考:http://wiki.nginx.org/NginxInstallOptions
#iptables配置
vi /etc/sysconfig/iptables
#添加配置项
-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 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
特别提示:正确的应该是添加到默认的22端口这条规则的下面
#重启防火墙
/etc/rc.d/init.d/iptables restart 或 service iptables restart
#查看现在的防火墙设置
iptables -L -n 或/etc/init.d/iptables status
#关闭防火墙
/etc/init.d/iptables stop
#停止关闭
#查询nginx主进程号
ps -ef | grep nginx
#停止进程
kill -QUIT 主进程号
#快速停止
kill -TERM 主进程号
#强制停止
kill -9 nginx
#Nginx
#端口查看
netstat –na|grep 80
#测试配置文件是否有错误
/opt/nginx/sbin/nginx –t
#重新加载配置
/opt/nginx/sbin/nginx -s reload
#启动nginx
/opt/nginx/sbin/nginx
#停止nginx
/opt/nginx/sbin/nginx –s stop
#Nginx配置
#默认配置
#user nobody;
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
} http {
include 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 logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on; server {
listen 80;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index 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 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 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$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;
#}
} # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen 443;
# server_name localhost; # ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }
#Tomcat部署springmvc测试项目
上传项目到/opt目录下,新建ROOT.XML放在Catalina/localhost目录下
<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="/opt/springmvc/" path="" reloadable="true">
</Context>
#启动项目
cd /opt/apache-tomcat-6.0.36/bin
./start.sh
#访问
http://192.168.0.108:8080
#修改NG配置
#user nobody;
worker_processes
2
; error_log logs/error.log;
events {
use epoll;
worker_connections 1024;
} http {
include 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"'; #tcp_nodelay on;
sendfile on;
keepalive_timeout 65; #启用gzip
gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css application/xml; include proxy.conf;
upstream tomcat_server {
server 127.0.0.1:8080;
} server {
listen 80;
server_name localhost;
index index.html index.htm index.shtml index.jsp;
root /opt/springmvc; location ~ \.(html|shtml|jsp|jspx|do|action)?$ { #所有jsp的页面均交由tomcat处理
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://tomcat_server;
} location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat
{
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 1h;
} #error_page 404 /404.html; #404页面
error_page 500 502 503 504 /50x.html;
location = /50x.html
{
root html;
} location /nginxstatus {
stub_status on;
access_log on;
auth_basic "nginxstatus";
#auth_basic_user_file conf/passwd;
}
}
}
#添加proxy.conf配置
#允许客户端请求的最大的单个文件字节数
client_max_body_size 10m;
#缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户
client_body_buffer_size 128k;
#跟后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_connect_timeout 300;
#连接成功后_等候后端服务器响应时间_其实已经进入后端的排队等候处理
proxy_read_timeout 300;
#后端服务器数据回传时间_就是在规定时间内后端服务器必须传完所有的数据
proxy_send_timeout 300;
#代理请求缓冲区_这个缓冲区间会保存用户的头信息以供Nginx进行规则处理_一般只要能够保存下头信息即可
proxy_buffer_size 4k;
#同上 告诉Nginx保存单个用的几个Buffer 最大用多大空间
proxy_buffers 4 32k;
#如果系统忙的时候可以申请更大的proxy_buffers 官方推荐*2
proxy_busy_buffers_size 64k;
#proxy 缓存临时文件的大小
proxy_temp_file_write_size 64k;
#启动NG与Tomcat
#启动NG
/opt/nginx/sbin/nginx
#检查是否正确
/opt/nginx/sbin/nginx
#重新加载配置
/opt/nginx/sbin/nginx -s reload
#停止
/opt/nginx/sbin/nginx -s stop
#查看
Tomcat:http://192.168.0.108:8080
Nginx:http://192.168.0.108
Nginxstatus:http://192.168.0.108/nginxstatus
nginx配置参数
#使用哪个用户启动nginx 前面是用户,后面是组
user www www;
#nginx工作的进程数量,一般认为配置值与机器核数相等为佳
worker_processes 2;
# [ debug | info | notice | warn | error | crit ] 错误日志的位置
error_log /var/htdocs/logs/nginx_error.log crit;#进程号保存文件
pid /usr/local/nginx/nginx.pid;#最大文件描述符 建议设置启动nginx的shell可以打开的最大文件描述符
#修改/etc/sysctl.conf,增加fs.file-max=6553560,fs.file-max是指系统所有进程一共可以打开的文件数量
#可以使用ulimit -Hn/-Sn查看该值,可以修改/etc/security/limits.conf,增加以下两行,*表示对所有用户有效
#* soft nofile 65535
#* hard nofile 65535#运行/sbin/sysctl -p命令,重新登录shell生效
worker_rlimit_nofile 65535;events
{
# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
use epoll; #使用epoll(linux2.6的高性能方式,了解epoll相关知识和原理可上网络搜索)
worker_connections 51200; #每个进程最大连接数(最大连接=连接数x进程数)
}http
{
#文件扩展名与文件类型映射表,具体查看同目录下的mime.types
include mime.types;#默认文件类型
default_type application/octet-stream;#日志文件格式
log_format main 'remoteaddr−remote_user [timelocal]request '
'"status"body_bytes_sent "httpreferer"′′"http_user_agent" "$http_x_forwarded_for"';log_format download 'remoteaddr−remote_user [timelocal]′′"request" statusbytes_sent '
'"httpreferer""http_user_agent" '
'"httprange""sent_http_content_range"';#默认编码
charset gb2312,utf-8;server_names_hash_bucket_size 128;
#开启高效文件传输模式
sendfile on;
#以下两个选项用于防止网络阻塞 参考http://i.cn.yahoo.com/nesta2001zhang/blog/p_104/
tcp_nopush on;
tcp_nodelay on;#长链接超时时间
keepalive_timeout 300;#fastcgi连接超时时间,下面的看字面意思都能理解个大概了,就不解释了.
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_temp_path /dev/shm;#打开gzip压缩
gzip on;
#最小压缩文件大小,一般大于2k的文件使用gzip能提升效率,否则很小的文件压缩反倒更消耗服务器性能
gzip_min_length 2k;
#压缩缓冲区
gzip_buffers 48k;
#压缩版本(默认1.1,前端为squid2.5使用1.0)
gzip_http_version 1.1;
#压缩类型,默认就已经包含text/html 所以下面就不用再写了,当然写上去的话,也不会有问题,但是会有一个warn
gzip_types text/plain application/x-javascript text/css text/html text/javascript application/xml;
#错误页面
error_page 404 /404.html;
error_page 403 /404.html;
#上传文件大小限制
client_max_body_size 20m;
#设定请求头缓存,如果请求header过大,会使用large_client_header_buffers 来读取
client_header_buffer_size 16k;
large_client_header_buffers 464k;
#设定负载均衡的服务器列表
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server localhost:8080 weight=5;
server 127.0.0.1:8080 weight=1;
}
#下面开始虚拟主机的配置
server
{
listen 80;
server_name localhost;#设定本虚拟主机的访问日志
access_log logs/access.log main;#如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid
#如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root #应用的根目录;#刷新时间,根据静态文件修改的频度来调整,开发测试阶段可以短一些,生产阶段可以长一些
expires 24h;
}#对 "/" 启用
location / {#http://后面跟upstream 的名字
proxy_pass http://myserver ;
proxy_redirect off;
proxy_set_header Host host;proxysetheaderX−Real−IPremote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m